{"version":3,"file":"main.20e540caa1809832e504.js","mappings":"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HACFC,YAAa,eACbC,yBACE,sIACFC,gCACE,kHACFC,kBAAmB,sBACnBC,cAAe,iBACfC,aAAc,gBACdC,qBAAsB,yBACtBC,mBAAoB,uBACpBC,mBAAoB,wBACpBC,0BACE,8IACFC,UAAW,aACXC,cACE,2IACFC,WAAY,cACZC,aAAc,gBACdC,oBACE,gGACFC,iBACE,iJACFC,oBAAqB,kCACrBC,UAAW,aACXC,mBAAoB,uBACpBC,2BACE,gIACFC,iBAAkB,qBAClBC,SAAU,qBACVC,wBAAyB,6BACzBC,mCAAoC,GACpCC,0BAA2B,+BAC3BC,qCAAsC,GACtC74D,QAAS,UACT84D,cAAe,qBACfrpK,SAAU,WACVspK,MAAO,QACPC,UAAW,aACXC,cAAe,oCACfC,cAAe,4BACfC,cAAe,sBACfC,UAAW,YACXC,aAAc,gBACd3f,iBAAkB,yBAClB4f,mCACE,gFACFC,iCACE,uEACFloJ,IAAK,MACLmoJ,WAAY,cACZC,UAAW,aACXC,iBAAkB,oBAClBC,OAAQ,SACRC,aAAc,gBACdC,eAAgB,iCAChBC,cAAe,iBACfC,eAAgB,kCAChBC,0BAA2B,+BAC3BC,qCACE,4CACFC,iBAAkB,oBAClBC,UAAW,eACXC,WAAY,aACZC,OAAQ,SACRC,aAAc,eACdC,iBAAkB,oBAClB3xL,IAAK,MACL4xL,UAAW,aACXC,sBACE,6QACFC,YAAa,eACbC,0BACE,6EACFC,gCACE,kDACFC,4BACE,kHACFC,sBAAuB,kCACvBC,uBAAwB,iDACxBC,sBAAuB,+BACvBC,wBACE,2EACFC,8BACE,gDACFC,0BACE,gHACFC,oBAAqB,gCACrBlzK,MAAO,QACPq5B,QAAS,UACT85I,0BACE,qDACF10L,IAAK,MACL20L,cAAe,iBACfC,0BACE,oFACFC,oBAAqB,kBACrBC,kBAAmB,6BACnBC,oBAAqB,kBACrBC,kBAAmB,6BACnBt1L,UAAW,mCACXu1L,eAAgB,aAChBC,gBACE,uEACFC,kBAAmB,sBACnBC,cAAe,kBACfC,uBAAwB,oBACxBC,SAAU,mBACVC,SAAU,yBACVhhE,aAAc,kBACdihE,IAAK,MACLC,IA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AkB,CACjB,MACA,MAED,cAAe,CACd,MACA,MAED,qBAAsB,CACrB,MACA,KAED,sBAAuB,CACtB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,aAAc,CACb,MACA,MAED,qBAAsB,CACrB,MACA,MAED,iBAAkB,CACjB,MACA,IAED,kBAAmB,CAClB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,eAAgB,CACf,MACA,MAED,kBAAmB,CAClB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,qBAAsB,CACrB,MACA,MAED,yBAA0B,CACzB,MAED,yBAA0B,CACzB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,qBAAsB,CACrB,MAED,2BAA4B,CAC3B,KACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,mBAAoB,CACnB,MACA,KAED,cAAe,CACd,MACA,MAED,iBAAkB,CACjB,MACA,MAED,0CAA2C,CAC1C,MACA,MAED,mDAAoD,CACnD,MACA,MAED,2CAA4C,CAC3C,IACA,KAED,qCAAsC,CACrC,MACA,MAED,8CAA+C,CAC9C,KACA,MAED,sCAAuC,CACtC,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,kBAAmB,CAClB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,aAAc,CACb,MACA,MAED,yBAA0B,CACzB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,eAAgB,CACf,MACA,MAED,aAAc,CACb,KACA,MAED,aAAc,CACb,MACA,MAED,mBAAoB,CACnB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,aAAc,CACb,MACA,MAED,oBAAqB,CACpB,MACA,MAED,aAAc,CACb,KACA,MAED,eAAgB,CACf,MACA,MAED,gBAAiB,CAChB,MACA,MAED,aAAc,CACb,MACA,MAED,iBAAkB,CACjB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,YAAa,CACZ,GACA,IAED,eAAgB,CACf,MACA,MAED,yBAA0B,CACzB,KACA,MAED,mBAAoB,CACnB,MACA,MAED,cAAe,CACd,MACA,MAED,yBAA0B,CACzB,MACA,KAED,kBAAmB,CAClB,MACA,MAED,0BAA2B,CAC1B,KACA,MAED,iBAAkB,CACjB,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,kBAAmB,CAClB,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,8BAA+B,CAC9B,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,cAAe,CACd,MACA,MAED,aAAc,CACb,KACA,MAED,aAAc,CACb,MACA,KAED,gBAAiB,CAChB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,cAAe,CACd,MACA,MAED,eAAgB,CACf,MACA,KAED,YAAa,CACZ,KACA,MAED,sBAAuB,CACtB,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,iBAAkB,CACjB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,aAAc,CACb,MACA,MAED,aAAc,CACb,MACA,MAED,eAAgB,CACf,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,oBAAqB,CACpB,MACA,MAED,uBAAwB,CACvB,MACA,KAED,iBAAkB,CACjB,KACA,MAED,iBAAkB,CACjB,KACA,MAED,aAAc,CACb,MACA,MAED,eAAgB,CACf,MACA,MAED,oBAAqB,CACpB,KACA,MAED,iBAAkB,CACjB,MACA,MAED,gBAAiB,CAChB,MACA,MAED,aAAc,CACb,KACA,MAED,gBAAiB,CAChB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,cAAe,CACd,KACA,MAED,YAAa,CACZ,KA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","sources":["webpack:///./node_modules/@datapunt/matomo-tracker-react/es/MatomoContext.js","webpack:///./src/xw/assets/icons/circle-available.svg","webpack:///./src/xw/assets/icons/circle-empty.svg","webpack:///./node_modules/assert-plus/assert.js","webpack:///./node_modules/assert/build/assert.js","webpack:///./node_modules/assert/build/internal/assert/assertion_error.js","webpack:///./node_modules/assert/build/internal/errors.js","webpack:///./node_modules/assert/build/internal/util/comparisons.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/call-bind/callBound.js","webpack:///./node_modules/call-bind/index.js","webpack:///./node_modules/core-util-is/lib/util.js","webpack:///./node_modules/define-properties/index.js","webpack:///./node_modules/es6-object-assign/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/events/events.js","webpack:///./node_modules/extsprintf/lib/extsprintf.js","webpack:///./node_modules/for-each/index.js","webpack:///./node_modules/function-bind/implementation.js","webpack:///./node_modules/function-bind/index.js","webpack:///./node_modules/get-intrinsic/index.js","webpack:///./node_modules/gopd/index.js","webpack:///./node_modules/has-property-descriptors/index.js","webpack:///./node_modules/has-symbols/index.js","webpack:///./node_modules/has-symbols/shams.js","webpack:///./node_modules/has-tostringtag/shams.js","webpack:///./node_modules/has/src/index.js","webpack:///./node_modules/resolve-pathname/esm/resolve-pathname.js","webpack:///./node_modules/value-equal/esm/value-equal.js","webpack:///./node_modules/history/esm/history.js","webpack:///./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/inherits/inherits_browser.js","webpack:///./node_modules/ip6addr/ip6addr.js","webpack:///./node_modules/is-callable/index.js","webpack:///./node_modules/is-generator-function/index.js","webpack:///./node_modules/is-nan/implementation.js","webpack:///./node_modules/is-nan/index.js","webpack:///./node_modules/is-nan/polyfill.js","webpack:///./node_modules/is-nan/shim.js","webpack:///./node_modules/is-typed-array/index.js","webpack:///./node_modules/json-schema/lib/validate.js","webpack:///./node_modules/jsprim/lib/jsprim.js","webpack:///./node_modules/loglevel/lib/loglevel.js","webpack:///./node_modules/moment-timezone/index.js","webpack:///./node_modules/moment-timezone/moment-timezone.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/object-is/implementation.js","webpack:///./node_modules/object-is/index.js","webpack:///./node_modules/object-is/polyfill.js","webpack:///./node_modules/object-is/shim.js","webpack:///./node_modules/object-keys/implementation.js","webpack:///./node_modules/object-keys/index.js","webpack:///./node_modules/object-keys/isArguments.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/react-router-dom/esm/react-router-dom.js","webpack:///./node_modules/mini-create-react-context/dist/esm/index.js","webpack:///./node_modules/react-router/esm/react-router.js","webpack:///./node_modules/react-router/node_modules/isarray/index.js","webpack:///./node_modules/react-router/node_modules/path-to-regexp/index.js","webpack:///./node_modules/dom-helpers/esm/hasClass.js","webpack:///./node_modules/dom-helpers/esm/addClass.js","webpack:///./node_modules/dom-helpers/esm/removeClass.js","webpack:///./node_modules/react-transition-group/esm/config.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/CSSTransition.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react/index.js","webpack:///./node_modules/readable-stream/errors-browser.js","webpack:///./node_modules/readable-stream/lib/_stream_duplex.js","webpack:///./node_modules/readable-stream/lib/_stream_passthrough.js","webpack:///./node_modules/readable-stream/lib/_stream_readable.js","webpack:///./node_modules/readable-stream/lib/_stream_transform.js","webpack:///./node_modules/readable-stream/lib/_stream_writable.js","webpack:///./node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack:///./node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack:///./node_modules/readable-stream/lib/internal/streams/destroy.js","webpack:///./node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack:///./node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack:///./node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack:///./node_modules/readable-stream/lib/internal/streams/state.js","webpack:///./node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack:///./node_modules/safe-buffer/index.js","webpack:///./node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///./node_modules/scheduler/index.js","webpack:///./node_modules/stream-browserify/index.js","webpack:///./node_modules/string_decoder/lib/string_decoder.js","webpack:///./src/xw/components/animatedLines/animatedLines.tsx","webpack:///./src/xw/components/expander/expander.tsx","webpack:///./src/xw/components/form/button/button.tsx","webpack:///./src/xw/components/form/errorHint.tsx","webpack:///./src/xw/components/form/form.tsx","webpack:///./src/xw/components/form/input/input.tsx","webpack:///./src/xw/components/form/validatedInput.ts","webpack:///./src/xw/components/form/validation.ts","webpack:///./src/xw/components/icon/SVGIcon.tsx","webpack:///./src/xw/components/icon/icon.tsx","webpack:///./src/xw/components/loader/pageLoader.tsx","webpack:///./src/xw/components/loader/processingLoader.tsx","webpack:///./src/xw/components/pageSection/pageSection.tsx","webpack:///./src/xw/components/toast/toast.tsx","webpack:///./src/xw/components/toast/toaster.tsx","webpack:///./src/xw/core/dataflow/pendingRequests.ts","webpack:///./src/xw/core/dataflow/subscriptions.ts","webpack:///./src/xw/core/dataflow/cache.ts","webpack:///./src/xw/core/dataflow/scheduler.ts","webpack:///./src/xw/core/dataflow/globalState.ts","webpack:///./src/xw/core/dataflow/appState.ts","webpack:///./src/xw/pages/session/maintenance.tsx","webpack:///./src/xw/core/app.tsx","webpack:///./src/xw/core/constants.ts","webpack:///./src/xw/resources/messages.ts","webpack:///./src/xw/core/global.ts","webpack:///./node_modules/@datapunt/matomo-tracker-react/es/utils/useOutboundClickListener.js","webpack:///./node_modules/@datapunt/matomo-tracker-react/es/useMatomo.js","webpack:///./src/xw/core/tracking.tsx","webpack:///./node_modules/@datapunt/matomo-tracker-js/es/constants.js","webpack:///./node_modules/@datapunt/matomo-tracker-js/es/MatomoTracker.js","webpack:///./node_modules/@datapunt/matomo-tracker-js/es/index.js","webpack:///./node_modules/@datapunt/matomo-tracker-react/es/instance.js","webpack:///./node_modules/@datapunt/matomo-tracker-react/es/MatomoProvider.js","webpack:///./src/xw/main.tsx","webpack:///./src/xw/pages/session/signupRoutes.tsx","webpack:///./src/xw/pages/session/landing.tsx","webpack:///./src/xw/pages/session/login.tsx","webpack:///./src/xw/pages/session/preSignup.tsx","webpack:///./src/xw/pages/settings/tier/ccniTierRules.ts","webpack:///./src/xw/pages/settings/tier/cctaTierRules.tsx","webpack:///./src/xw/pages/settings/tier/cctiTierRules.ts","webpack:///./src/xw/pages/settings/tier/commonTierRules.tsx","webpack:///./src/xw/core/service.ts","webpack:///./node_modules/uuid/dist/esm-browser/nil.js","webpack:///./src/xw/services/authService.ts","webpack:///./src/xw/services/toastService.ts","webpack:///./node_modules/d3-array/src/ascending.js","webpack:///./node_modules/d3-array/src/descending.js","webpack:///./node_modules/d3-array/src/bisector.js","webpack:///./node_modules/d3-array/src/ticks.js","webpack:///./node_modules/d3-time/src/duration.js","webpack:///./node_modules/d3-time/src/interval.js","webpack:///./node_modules/d3-time/src/millisecond.js","webpack:///./node_modules/d3-time/src/second.js","webpack:///./node_modules/d3-time/src/minute.js","webpack:///./node_modules/d3-time/src/hour.js","webpack:///./node_modules/d3-time/src/day.js","webpack:///./node_modules/d3-time/src/week.js","webpack:///./node_modules/d3-time/src/month.js","webpack:///./node_modules/d3-time/src/year.js","webpack:///./node_modules/d3-time/src/ticks.js","webpack:///./node_modules/d3-time-format/src/locale.js","webpack:///./node_modules/d3-time-format/src/defaultLocale.js","webpack:///./node_modules/d3-array/src/number.js","webpack:///./node_modules/d3-array/src/bisect.js","webpack:///./node_modules/d3-color/src/define.js","webpack:///./node_modules/d3-color/src/color.js","webpack:///./node_modules/d3-interpolate/src/basis.js","webpack:///./node_modules/d3-interpolate/src/basisClosed.js","webpack:///./node_modules/d3-interpolate/src/constant.js","webpack:///./node_modules/d3-interpolate/src/color.js","webpack:///./node_modules/d3-interpolate/src/rgb.js","webpack:///./node_modules/d3-interpolate/src/array.js","webpack:///./node_modules/d3-interpolate/src/date.js","webpack:///./node_modules/d3-interpolate/src/number.js","webpack:///./node_modules/d3-interpolate/src/object.js","webpack:///./node_modules/d3-interpolate/src/string.js","webpack:///./node_modules/d3-interpolate/src/numberArray.js","webpack:///./node_modules/d3-interpolate/src/value.js","webpack:///./node_modules/d3-interpolate/src/round.js","webpack:///./node_modules/d3-scale/src/constant.js","webpack:///./node_modules/d3-scale/src/number.js","webpack:///./node_modules/d3-scale/src/continuous.js","webpack:///./node_modules/d3-scale/src/init.js","webpack:///./node_modules/d3-scale/src/nice.js","webpack:///./node_modules/d3-scale/src/time.js","webpack:///./node_modules/d3-scale/src/utcTime.js","webpack:///./node_modules/d3-array/src/extent.js","webpack:///./node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-shape/src/math.js","webpack:///./node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-shape/src/path.js","webpack:///./node_modules/d3-shape/src/arc.js","webpack:///./node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-shape/src/curve/linear.js","webpack:///./node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-shape/src/line.js","webpack:///./node_modules/d3-shape/src/area.js","webpack:///./node_modules/d3-shape/src/descending.js","webpack:///./node_modules/d3-shape/src/identity.js","webpack:///./node_modules/d3-shape/src/pie.js","webpack:///./node_modules/d3-shape/src/curve/natural.js","webpack:///./node_modules/d3-shape/src/curve/step.js","webpack:///./node_modules/d3-format/src/formatSpecifier.js","webpack:///./node_modules/d3-format/src/formatDecimal.js","webpack:///./node_modules/d3-format/src/exponent.js","webpack:///./node_modules/d3-format/src/precisionPrefix.js","webpack:///./node_modules/d3-format/src/formatGroup.js","webpack:///./node_modules/d3-format/src/formatNumerals.js","webpack:///./node_modules/d3-format/src/formatTrim.js","webpack:///./node_modules/d3-format/src/formatPrefixAuto.js","webpack:///./node_modules/d3-format/src/formatRounded.js","webpack:///./node_modules/d3-format/src/formatTypes.js","webpack:///./node_modules/d3-format/src/identity.js","webpack:///./node_modules/d3-format/src/locale.js","webpack:///./node_modules/d3-format/src/defaultLocale.js","webpack:///./node_modules/d3-format/src/precisionRound.js","webpack:///./node_modules/d3-format/src/precisionFixed.js","webpack:///./node_modules/d3-scale/src/tickFormat.js","webpack:///./node_modules/d3-scale/src/linear.js","webpack:///./node_modules/d3-array/src/quantile.js","webpack:///./node_modules/d3-scale/src/quantile.js","webpack:///./node_modules/d3-array/src/range.js","webpack:///./node_modules/internmap/src/index.js","webpack:///./node_modules/d3-scale/src/ordinal.js","webpack:///./node_modules/d3-scale/src/band.js","webpack:///./node_modules/d3-sankey/node_modules/d3-array/src/sum.js","webpack:///./node_modules/d3-sankey/node_modules/d3-array/src/max.js","webpack:///./node_modules/d3-sankey/node_modules/d3-array/src/min.js","webpack:///./node_modules/d3-sankey/src/align.js","webpack:///./node_modules/d3-sankey/src/constant.js","webpack:///./node_modules/d3-sankey/src/sankey.js","webpack:///./node_modules/d3-sankey/node_modules/d3-path/src/path.js","webpack:///./node_modules/d3-sankey/node_modules/d3-shape/src/array.js","webpack:///./node_modules/d3-sankey/node_modules/d3-shape/src/constant.js","webpack:///./node_modules/d3-sankey/node_modules/d3-shape/src/point.js","webpack:///./node_modules/d3-sankey/node_modules/d3-shape/src/link/index.js","webpack:///./node_modules/d3-sankey/src/sankeyLinkHorizontal.js","webpack:///./src/xw/utils/d3.ts","webpack:///./src/xw/utils/date.ts","webpack:///./src/xw/utils/dom.ts","webpack:///./src/xw/utils/enum.ts","webpack:///./src/xw/utils/env.tsx","webpack:///./src/xw/utils/string.ts","webpack:///./src/xw/utils/switch.ts","webpack:///./src/xw/utils/timing.ts","webpack:///./src/xw/utils/uuid.ts","webpack:///./node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/util-deprecate/browser.js","webpack:///./node_modules/util/node_modules/is-arguments/index.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/util/support/types.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/uuid/dist/esm-browser/native.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/verror/lib/verror.js","webpack:///./node_modules/which-typed-array/index.js","webpack:///./src/xw/assets/icons/ lazy ^\\.\\/.*\\.svg$ namespace object","webpack:///./node_modules/generated-proto-files/api_pb.js","webpack:///./node_modules/generated-proto-files/auth_user_pb.js","webpack:///./node_modules/generated-proto-files/ccios_gen_pb.js","webpack:///./node_modules/generated-proto-files/ccsubs_gen_pb.js","webpack:///./node_modules/generated-proto-files/common_pb.js","webpack:///./node_modules/generated-proto-files/config_schema_pb.js","webpack:///./node_modules/generated-proto-files/error_pb.js","webpack:///./node_modules/generated-proto-files/mrt_pb.js","webpack:///./node_modules/generated-proto-files/peering_info_pb.js","webpack:///./node_modules/generated-proto-files/schema_gen_pb.js","webpack:///./node_modules/generated-proto-files/subscriptions_pb.js","webpack:///./node_modules/generated-proto-files/timeseries_api_common_pb.js","webpack:///./node_modules/google-protobuf/google-protobuf.js","webpack:///./node_modules/google-protobuf/google/protobuf/any_pb.js","webpack:///./node_modules/google-protobuf/google/protobuf/duration_pb.js","webpack:///./node_modules/google-protobuf/google/protobuf/timestamp_pb.js","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/available-typed-arrays/index.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack:///./node_modules/@babel/runtime/helpers/esm/get.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/eventemitter3/index.mjs"],"sourcesContent":["import { createContext } from 'react';\nconst MatomoContext = createContext(null);\nexport default MatomoContext;\n//# sourceMappingURL=MatomoContext.js.map","var _path, _path2, _path3;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgCircleAvailable = function SvgCircleAvailable(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 18 18\",\n width: \"1em\",\n height: \"1em\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9 18A9 9 0 1 0 9 0a9 9 0 0 0 0 18zm0-2A7 7 0 1 0 9 2a7 7 0 0 0 0 14z\",\n clipRule: \"evenodd\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9 17A8 8 0 1 0 9 1a8 8 0 0 0 0 16zm0-1A7 7 0 1 0 9 2a7 7 0 0 0 0 14z\",\n clipRule: \"evenodd\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m1.8 9 1.697-1.697 3.394 3.395 6.875-6.839s.421.25.859.829c.438.578.563 1 .563 1L6.89 14.091 1.8 9z\"\n })));\n};\nexport default SvgCircleAvailable;","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgCircleEmpty = function SvgCircleEmpty(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 18 18\",\n width: \"1em\",\n height: \"1em\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M9 18A9 9 0 1 0 9 0a9 9 0 0 0 0 18zm0-2A7 7 0 1 0 9 2a7 7 0 0 0 0 14z\",\n clipRule: \"evenodd\"\n })));\n};\nexport default SvgCircleEmpty;","// Copyright (c) 2012, Mark Cavage. All rights reserved.\n// Copyright 2015 Joyent, Inc.\n\nvar assert = require('assert');\nvar Stream = require('stream').Stream;\nvar util = require('util');\n\n\n///--- Globals\n\n/* JSSTYLED */\nvar UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/;\n\n\n///--- Internal\n\nfunction _capitalize(str) {\n return (str.charAt(0).toUpperCase() + str.slice(1));\n}\n\nfunction _toss(name, expected, oper, arg, actual) {\n throw new assert.AssertionError({\n message: util.format('%s (%s) is required', name, expected),\n actual: (actual === undefined) ? typeof (arg) : actual(arg),\n expected: expected,\n operator: oper || '===',\n stackStartFunction: _toss.caller\n });\n}\n\nfunction _getClass(arg) {\n return (Object.prototype.toString.call(arg).slice(8, -1));\n}\n\nfunction noop() {\n // Why even bother with asserts?\n}\n\n\n///--- Exports\n\nvar types = {\n bool: {\n check: function (arg) { return typeof (arg) === 'boolean'; }\n },\n func: {\n check: function (arg) { return typeof (arg) === 'function'; }\n },\n string: {\n check: function (arg) { return typeof (arg) === 'string'; }\n },\n object: {\n check: function (arg) {\n return typeof (arg) === 'object' && arg !== null;\n }\n },\n number: {\n check: function (arg) {\n return typeof (arg) === 'number' && !isNaN(arg);\n }\n },\n finite: {\n check: function (arg) {\n return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg);\n }\n },\n buffer: {\n check: function (arg) { return Buffer.isBuffer(arg); },\n operator: 'Buffer.isBuffer'\n },\n array: {\n check: function (arg) { return Array.isArray(arg); },\n operator: 'Array.isArray'\n },\n stream: {\n check: function (arg) { return arg instanceof Stream; },\n operator: 'instanceof',\n actual: _getClass\n },\n date: {\n check: function (arg) { return arg instanceof Date; },\n operator: 'instanceof',\n actual: _getClass\n },\n regexp: {\n check: function (arg) { return arg instanceof RegExp; },\n operator: 'instanceof',\n actual: _getClass\n },\n uuid: {\n check: function (arg) {\n return typeof (arg) === 'string' && UUID_REGEXP.test(arg);\n },\n operator: 'isUUID'\n }\n};\n\nfunction _setExports(ndebug) {\n var keys = Object.keys(types);\n var out;\n\n /* re-export standard assert */\n if (process.env.NODE_NDEBUG) {\n out = noop;\n } else {\n out = function (arg, msg) {\n if (!arg) {\n _toss(msg, 'true', arg);\n }\n };\n }\n\n /* standard checks */\n keys.forEach(function (k) {\n if (ndebug) {\n out[k] = noop;\n return;\n }\n var type = types[k];\n out[k] = function (arg, msg) {\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* optional checks */\n keys.forEach(function (k) {\n var name = 'optional' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!type.check(arg)) {\n _toss(msg, k, type.operator, arg, type.actual);\n }\n };\n });\n\n /* arrayOf checks */\n keys.forEach(function (k) {\n var name = 'arrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* optionalArrayOf checks */\n keys.forEach(function (k) {\n var name = 'optionalArrayOf' + _capitalize(k);\n if (ndebug) {\n out[name] = noop;\n return;\n }\n var type = types[k];\n var expected = '[' + k + ']';\n out[name] = function (arg, msg) {\n if (arg === undefined || arg === null) {\n return;\n }\n if (!Array.isArray(arg)) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n var i;\n for (i = 0; i < arg.length; i++) {\n if (!type.check(arg[i])) {\n _toss(msg, expected, type.operator, arg, type.actual);\n }\n }\n };\n });\n\n /* re-export built-in assertions */\n Object.keys(assert).forEach(function (k) {\n if (k === 'AssertionError') {\n out[k] = assert[k];\n return;\n }\n if (ndebug) {\n out[k] = noop;\n return;\n }\n out[k] = assert[k];\n });\n\n /* export ourselves (for unit tests _only_) */\n out._setExports = _setExports;\n\n return out;\n}\n\nmodule.exports = _setExports(process.env.NODE_NDEBUG);\n","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\n\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n return objectToString(arg) === '[object Array]';\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","/*\n * extsprintf.js: extended POSIX-style sprintf\n */\n\nvar mod_assert = require('assert');\nvar mod_util = require('util');\n\n/*\n * Public interface\n */\nexports.sprintf = jsSprintf;\nexports.printf = jsPrintf;\nexports.fprintf = jsFprintf;\n\n/*\n * Stripped down version of s[n]printf(3c). We make a best effort to throw an\n * exception when given a format string we don't understand, rather than\n * ignoring it, so that we won't break existing programs if/when we go implement\n * the rest of this.\n *\n * This implementation currently supports specifying\n *\t- field alignment ('-' flag),\n * \t- zero-pad ('0' flag)\n *\t- always show numeric sign ('+' flag),\n *\t- field width\n *\t- conversions for strings, decimal integers, and floats (numbers).\n *\t- argument size specifiers. These are all accepted but ignored, since\n *\t Javascript has no notion of the physical size of an argument.\n *\n * Everything else is currently unsupported, most notably precision, unsigned\n * numbers, non-decimal numbers, and characters.\n */\nfunction jsSprintf(fmt)\n{\n\tvar regex = [\n\t '([^%]*)',\t\t\t\t/* normal text */\n\t '%',\t\t\t\t/* start of format */\n\t '([\\'\\\\-+ #0]*?)',\t\t\t/* flags (optional) */\n\t '([1-9]\\\\d*)?',\t\t\t/* width (optional) */\n\t '(\\\\.([1-9]\\\\d*))?',\t\t/* precision (optional) */\n\t '[lhjztL]*?',\t\t\t/* length mods (ignored) */\n\t '([diouxXfFeEgGaAcCsSp%jr])'\t/* conversion */\n\t].join('');\n\n\tvar re = new RegExp(regex);\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\tvar flags, width, precision, conversion;\n\tvar left, pad, sign, arg, match;\n\tvar ret = '';\n\tvar argn = 1;\n\n\tmod_assert.equal('string', typeof (fmt));\n\n\twhile ((match = re.exec(fmt)) !== null) {\n\t\tret += match[1];\n\t\tfmt = fmt.substring(match[0].length);\n\n\t\tflags = match[2] || '';\n\t\twidth = match[3] || 0;\n\t\tprecision = match[4] || '';\n\t\tconversion = match[6];\n\t\tleft = false;\n\t\tsign = false;\n\t\tpad = ' ';\n\n\t\tif (conversion == '%') {\n\t\t\tret += '%';\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (args.length === 0)\n\t\t\tthrow (new Error('too few args to sprintf'));\n\n\t\targ = args.shift();\n\t\targn++;\n\n\t\tif (flags.match(/[\\' #]/))\n\t\t\tthrow (new Error(\n\t\t\t 'unsupported flags: ' + flags));\n\n\t\tif (precision.length > 0)\n\t\t\tthrow (new Error(\n\t\t\t 'non-zero precision not supported'));\n\n\t\tif (flags.match(/-/))\n\t\t\tleft = true;\n\n\t\tif (flags.match(/0/))\n\t\t\tpad = '0';\n\n\t\tif (flags.match(/\\+/))\n\t\t\tsign = true;\n\n\t\tswitch (conversion) {\n\t\tcase 's':\n\t\t\tif (arg === undefined || arg === null)\n\t\t\t\tthrow (new Error('argument ' + argn +\n\t\t\t\t ': attempted to print undefined or null ' +\n\t\t\t\t 'as a string'));\n\t\t\tret += doPad(pad, width, left, arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'd':\n\t\t\targ = Math.floor(arg);\n\t\t\t/*jsl:fallthru*/\n\t\tcase 'f':\n\t\t\tsign = sign && arg > 0 ? '+' : '';\n\t\t\tret += sign + doPad(pad, width, left,\n\t\t\t arg.toString());\n\t\t\tbreak;\n\n\t\tcase 'x':\n\t\t\tret += doPad(pad, width, left, arg.toString(16));\n\t\t\tbreak;\n\n\t\tcase 'j': /* non-standard */\n\t\t\tif (width === 0)\n\t\t\t\twidth = 10;\n\t\t\tret += mod_util.inspect(arg, false, width);\n\t\t\tbreak;\n\n\t\tcase 'r': /* non-standard */\n\t\t\tret += dumpException(arg);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow (new Error('unsupported conversion: ' +\n\t\t\t conversion));\n\t\t}\n\t}\n\n\tret += fmt;\n\treturn (ret);\n}\n\nfunction jsPrintf() {\n\tvar args = Array.prototype.slice.call(arguments);\n\targs.unshift(process.stdout);\n\tjsFprintf.apply(null, args);\n}\n\nfunction jsFprintf(stream) {\n\tvar args = Array.prototype.slice.call(arguments, 1);\n\treturn (stream.write(jsSprintf.apply(this, args)));\n}\n\nfunction doPad(chr, width, left, str)\n{\n\tvar ret = str;\n\n\twhile (ret.length < width) {\n\t\tif (left)\n\t\t\tret += chr;\n\t\telse\n\t\t\tret = chr + ret;\n\t}\n\n\treturn (ret);\n}\n\n/*\n * This function dumps long stack traces for exceptions having a cause() method.\n * See node-verror for an example.\n */\nfunction dumpException(ex)\n{\n\tvar ret;\n\n\tif (!(ex instanceof Error))\n\t\tthrow (new Error(jsSprintf('invalid type for %%r: %j', ex)));\n\n\t/* Note that V8 prepends \"ex.stack\" with ex.toString(). */\n\tret = 'EXCEPTION: ' + ex.constructor.name + ': ' + ex.stack;\n\n\tif (ex.cause && typeof (ex.cause) === 'function') {\n\t\tvar cex = ex.cause();\n\t\tif (cex) {\n\t\t\tret += '\\nCaused by: ' + dumpException(cex);\n\t\t}\n\t}\n\n\treturn (ret);\n}\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","/*\n * This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n */\n\n/*\n * Copyright 2016, Joyent, Inc.\n */\n\nvar assert = require('assert-plus');\nvar jsprim = require('jsprim');\nvar util = require('util');\n\n\n///--- Helpers\n\nfunction ParseError(input, message, index) {\n if (Error.captureStackTrace)\n Error.captureStackTrace(this, ParseError);\n\n this.input = input;\n this.message = message;\n if (index !== undefined) {\n this.message += ' at index ' + index;\n }\n}\nutil.inherits(ParseError, Error);\n\nfunction modulo(a, n) {\n return (n + (a % n)) % n;\n}\n\nfunction _arrayToOctetString(input) {\n var out;\n out = (input[0] >> 8) + '.' + (input[0] & 0xff) + '.';\n out += (input[1] >> 8) + '.' + (input[1] & 0xff);\n return out;\n}\n\nfunction _isAddr(addr) {\n if (typeof (addr) === 'object') {\n /* It must resemble an Addr object */\n if (Array.isArray(addr._fields) && typeof (addr._attrs) === 'object') {\n return true;\n }\n }\n return false;\n}\n\nfunction _toAddr(input) {\n if (typeof (input) === 'string') {\n return ip6addrParse(input);\n } else if (_isAddr(input)) {\n return input;\n } else {\n throw new Error('Invalid argument: Addr or parsable string expected');\n }\n}\n\nfunction _arrayToHex(input, zeroElide, zeroPad) {\n var i;\n var elStart = null;\n var elLen = 0;\n if (zeroElide) {\n /* find longest run of zeroes to potentially elide */\n var start = null;\n var len = null;\n for (i = 0; i < input.length; i++) {\n if (input[i] === 0) {\n if (start === null) {\n start = i;\n len = 1;\n } else {\n len++;\n }\n } else if (start !== null) {\n if (len > elLen) {\n elStart = start;\n elLen = len;\n }\n start = null;\n }\n }\n /* capturing last potential zero */\n if (start !== null && len > elLen) {\n elStart = start;\n elLen = len;\n }\n }\n\n var output = [];\n var num;\n for (i = 0; i < input.length; i++) {\n if (elStart !== null) {\n if (i === elStart) {\n if (elLen === 8) {\n /* all-zeroes is just '::' */\n return ['::'];\n } else if (elStart === 0 || elStart + elLen === input.length) {\n /*\n * For elided zeroes at the beginning/end of the address, an extra\n * ':' is needed during the join step.\n */\n output.push(':');\n } else {\n output.push('');\n }\n }\n if (i >= elStart && i < elStart + elLen) {\n continue;\n }\n }\n num = input[i].toString(16);\n if (zeroPad && num.length != 4) {\n num = '0000'.slice(num.length) + num;\n }\n output.push(num);\n }\n return output;\n}\n\nfunction _ipv4Mapped(input) {\n var comp = [0, 0, 0, 0, 0, 0xffff];\n var i;\n for (i = 0; i < 6; i++) {\n if (input[i] != comp[i])\n return false;\n }\n return true;\n}\n\nfunction _prefixToAddr(len) {\n assert.number(len);\n len = len | 0;\n assert.ok(len <= 128);\n assert.ok(len >= 0);\n\n var output = new Addr();\n var i;\n for (i = 0; len > 16; i++, len -= 16) {\n output._fields[i] = 0xffff;\n }\n if (len > 0) {\n output._fields[i] = 0xffff - ((1 << (16 - len)) - 1);\n }\n return output;\n}\n\nfunction _toCIDR(input) {\n if (typeof (input) === 'string') {\n return new CIDR(input);\n } else if (input instanceof CIDR) {\n return input;\n } else {\n throw new Error('Invalid argument: CIDR or parsable string expected');\n }\n}\n\nvar strDefaults = {\n format: 'auto', // Control format of printed address\n zeroElide: true, // Elide longest run of zeros\n zeroPad: false // Pad with zeros when a group would print as < 4 chars\n};\n\nfunction getStrOpt(opts, name) {\n if (opts && opts.hasOwnProperty(name)) {\n return opts[name];\n } else {\n return strDefaults[name];\n }\n}\n\n///--- Public Classes\n\n/**\n * IPv6/IPv4 address representation.\n *\n * It should not be instantiated directly by library consumers.\n */\nfunction Addr() {\n this._fields = [0, 0, 0, 0, 0, 0, 0, 0];\n this._attrs = {};\n}\n\nAddr.prototype.kind = function getKind() {\n if (v4subnet.contains(this)) {\n return 'ipv4';\n } else {\n return 'ipv6';\n }\n};\n\nAddr.prototype.toString = function toString(opts) {\n assert.optionalObject(opts, 'opts');\n var format = getStrOpt(opts, 'format');\n var zeroElide = getStrOpt(opts, 'zeroElide');\n var zeroPad = getStrOpt(opts, 'zeroPad');\n\n assert.string(format, 'opts.format');\n assert.bool(zeroElide, 'opts.zeroElide');\n assert.bool(zeroPad, 'opts.zeroPad');\n\n // Try to print the address the way it was originally formatted\n if (format === 'auto') {\n if (this._attrs.ipv4Bare) {\n format = 'v4';\n } else if (this._attrs.ipv4Mapped) {\n format = 'v4-mapped';\n } else {\n format = 'v6';\n }\n }\n\n switch (format) {\n // Print in dotted-quad notation (but only if truly IPv4)\n case 'v4':\n if (!v4subnet.contains(this)) {\n throw new Error('cannot print non-v4 address in dotted quad notation');\n }\n return _arrayToOctetString(this._fields.slice(6));\n\n // Print as an IPv4-mapped IPv6 address\n case 'v4-mapped':\n if (!v4subnet.contains(this)) {\n throw new Error('cannot print non-v4 address as a v4-mapped address');\n }\n var output = _arrayToHex(this._fields.slice(0, 6), zeroElide, zeroPad);\n output.push(_arrayToOctetString(this._fields.slice(6)));\n return output.join(':');\n\n // Print as an IPv6 address\n case 'v6':\n return _arrayToHex(this._fields, zeroElide, zeroPad).join(':');\n\n // Unrecognized formatting method\n default:\n throw new Error('unrecognized format method \"' + format + '\"');\n }\n};\n\nAddr.prototype.toBuffer = function toBuffer(buf) {\n if (buf !== undefined) {\n if (!Buffer.isBuffer(buf)) {\n throw new Error('optional arg must be Buffer');\n }\n } else {\n buf = new Buffer(16);\n }\n var i;\n for (i = 0; i < 8; i++) {\n buf.writeUInt16BE(this._fields[i], i*2);\n }\n return buf;\n};\n\nAddr.prototype.toLong = function toLong() {\n if (!v4subnet.contains(this)) {\n throw new Error('only possible for ipv4-mapped addresses');\n }\n return ((this._fields[6] << 16) >>> 0) + this._fields[7];\n};\n\nAddr.prototype.clone = function cloneAddr() {\n var out = new Addr();\n out._fields = this._fields.slice();\n for (var k in this._attrs) {\n out._attrs[k] = this._attrs[k];\n }\n return out;\n};\n\nAddr.prototype.offset = function offset(num) {\n if (num < -4294967295 || num > 4294967295) {\n throw new Error('offsets should be between -4294967295 and 4294967295');\n }\n var out = this.clone();\n var i, moved;\n for (i = 7; i >= 0; i--) {\n moved = out._fields[i] + num;\n if (moved > 65535) {\n num = moved >>> 16;\n moved = moved & 0xffff;\n } else if (moved < 0) {\n num = Math.floor(moved / (1 << 16));\n moved = modulo(moved, 1 << 16);\n } else {\n num = 0;\n }\n out._fields[i] = moved;\n\n /* Prevent wrap-around for both ipv6 and ipv4-mapped addresses */\n if (num !== 0) {\n if ((i === 0) || (i === 6 && this._attrs.ipv4Mapped)) {\n return null;\n }\n } else {\n break;\n }\n }\n return out;\n};\n\nAddr.prototype.and = function addrAnd(input) {\n input = _toAddr(input);\n var i;\n var output = this.clone();\n for (i = 0; i < 8; i++) {\n output._fields[i] = output._fields[i] & input._fields[i];\n }\n return output;\n};\n\nAddr.prototype.or = function addrOr(input) {\n input = _toAddr(input);\n var i;\n var output = this.clone();\n for (i = 0; i < 8; i++) {\n output._fields[i] = output._fields[i] | input._fields[i];\n }\n return output;\n};\n\nAddr.prototype.not = function addrNot() {\n var i;\n var output = this.clone();\n for (i = 0; i < 8; i++) {\n output._fields[i] = (~ output._fields[i]) & 0xffff;\n }\n return output;\n};\n\nAddr.prototype.compare = function compareMember(addr) {\n return ip6addrCompare(this, addr);\n};\n\n/**\n * CIDR Block\n * @param addr CIDR network address\n * @param prefixLen Length of network prefix\n *\n * The addr parameter can be an Addr object or a parseable string.\n * If prefixLen is omitted, then addr must contain a parseable string in the\n * form '
/'.\n */\nfunction CIDR(addr, prefixLen) {\n if (prefixLen === undefined) {\n /* OK to pass pass string of \"/\" */\n assert.string(addr);\n var fields = addr.match(/^([a-fA-F0-9:.]+)\\/([0-9]+)$/);\n if (fields === null) {\n throw new Error('Invalid argument: / expected');\n }\n addr = fields[1];\n prefixLen = parseInt(fields[2], 10);\n }\n assert.number(prefixLen);\n prefixLen = prefixLen | 0;\n addr = _toAddr(addr);\n\n /* Expand prefix to ipv6 length of bare ipv4 address provided */\n if (addr._attrs.ipv4Bare) {\n prefixLen += 96;\n }\n if (prefixLen < 0 || prefixLen > 128) {\n throw new Error('Invalid prefix length');\n }\n this._prefix = prefixLen;\n this._mask = _prefixToAddr(prefixLen);\n this._addr = addr.and(this._mask);\n}\n\nCIDR.prototype.contains = function cidrContains(input) {\n input = _toAddr(input);\n return (this._addr.compare(input.and(this._mask)) === 0);\n};\n\nCIDR.prototype.first = function cidrFirst() {\n if (this._prefix >= 127) {\n /* Support single-address and point-to-point networks */\n return this._addr;\n } else {\n return this._addr.offset(1);\n }\n};\n\nCIDR.prototype.last = function cidrLast() {\n var ending = this._addr.or(this._mask.not());\n if (this._prefix >= 127) {\n /* Support single-address and point-to-point networks */\n return ending;\n } else {\n if (this._addr._attrs.ipv4Mapped) {\n /* don't include the broadcast for ipv4 */\n return ending.offset(-1);\n } else {\n return ending;\n }\n }\n};\n\nCIDR.prototype.broadcast = function getBroadcast() {\n if (!v4subnet.contains(this._addr)) {\n throw new Error('Only IPv4 networks have broadcast addresses');\n }\n return this._addr.or(this._mask.not());\n};\n\nCIDR.prototype.compare = function compareCIDR(cidr) {\n return ip6cidrCompare(this, cidr);\n};\n\nCIDR.prototype.prefixLength = function getPrefixLength(format) {\n assert.optionalString(format, 'format');\n if (format === undefined || format === 'auto') {\n format = this._addr._attrs.ipv4Bare ? 'v4' : 'v6';\n }\n\n switch (format) {\n case 'v4':\n if (!v4subnet.contains(this._addr)) {\n throw new Error('cannot return v4 prefix length for non-v4 address');\n }\n return this._prefix - 96;\n case 'v6':\n return this._prefix;\n default:\n throw new Error('unrecognized format method \"' + format + '\"');\n }\n};\n\nCIDR.prototype.address = function getAddressComponent() {\n return this._addr;\n};\n\nCIDR.prototype.toString = function cidrString(opts) {\n assert.optionalObject(opts, 'opts');\n\n var format = getStrOpt(opts, 'format');\n if (format === 'v4-mapped') {\n format = 'v6';\n }\n\n return this._addr.toString(opts) + '/' + this.prefixLength(format);\n};\n\nvar v4subnet = new CIDR('::ffff:0:0', 96);\n\nfunction ip6cidrCompare(a, b) {\n a = _toCIDR(a);\n b = _toCIDR(b);\n\n /*\n * We compare first on the address component, and then on the prefix length,\n * such that the network with the smaller prefix length (the larger subnet)\n * is greater than the network with the larger prefix (the smaller subnet).\n * This is the same ordering used in Postgres.\n */\n var cmp = ip6addrCompare(a._addr, b._addr);\n return cmp === 0 ? b._prefix - a._prefix : cmp;\n}\n\n/**\n * Range of addresses.\n * @param begin Beginning address of the range\n * @param end Ending address of the range\n *\n * Parameters can be Addr objects or parsable address strings.\n */\nfunction AddrRange(begin, end) {\n begin = _toAddr(begin);\n end = _toAddr(end);\n\n if (begin.compare(end) > 0) {\n throw new Error('begin address must be <= end address');\n }\n\n this._begin = begin;\n this._end = end;\n}\n\nAddrRange.prototype.contains = function addrRangeContains(input) {\n input = _toAddr(input);\n return (this._begin.compare(input) <= 0 && this._end.compare(input) >= 0);\n};\n\nAddrRange.prototype.first = function addrRangeFirst() {\n return this._begin;\n};\n\nAddrRange.prototype.last = function addrRangeLast() {\n return this._end;\n};\n\n\n///--- Public Functions\n\nfunction ip6addrParse(input) {\n if (typeof (input) === 'string') {\n return parseString(input);\n } else if (typeof (input) === 'number') {\n return parseLong(input);\n } else if (typeof (input) === 'object' && _isAddr(input)) {\n return input;\n } else {\n throw new Error('Invalid argument: only string|number allowed');\n }\n}\n\nfunction parseString(input) {\n assert.string(input);\n input = input.toLowerCase();\n var result = new Addr();\n\n var ip6Fields = []; // hold unparsed hex fields\n var ip4Fields = []; // hold unparsed decimal fields\n var expIndex = null; // field index of '::' delimiter\n var value = ''; // accumulate unparsed hex/dec field\n var i, c;\n\n /*\n * No valid ipv6 is longer than 39 characters.\n * An extra character of leeway is there to tolerate some :: funny business.\n */\n if (input.length > 40) {\n throw new ParseError(input, 'Input too long');\n }\n\n for (i = 0; i < input.length; i++) {\n c = input[i];\n if (c === ':') {\n if ((i+1) < input.length && input[i+1] === ':') {\n /*\n * Variable length '::' delimiter.\n * Multiples would be ambiguous\n */\n if (expIndex !== null) {\n throw new ParseError(input, 'Multiple :: delimiters', i);\n }\n\n /*\n * The value buffer can be empty for cases where the '::' delimiter is\n * the first portion of the address.\n */\n if (value !== '') {\n ip6Fields.push(value);\n value = '';\n }\n expIndex = ip6Fields.length;\n i++;\n } else {\n /*\n * Standard ':' delimiter\n * The value buffer cannot be empty since that would imply an illegal\n * pattern such as ':::' or ':.'.\n */\n if (value === '') {\n throw new ParseError(input, 'illegal delimiter', i);\n }\n ip6Fields.push(value);\n value = '';\n }\n } else if (c === '.') {\n /*\n * Handle dotted quad notation for ipv4 and ipv4-mapped addresses.\n */\n ip4Fields.push(value);\n value = '';\n } else {\n value = value + c;\n }\n }\n /* Handle the last stashed value */\n if (value !== '') {\n if (ip4Fields.length !== 0) {\n ip4Fields.push(value);\n } else {\n ip6Fields.push(value);\n }\n value = '';\n } else {\n /* With no stashed value, the address must end with '::'. */\n if (expIndex !== ip6Fields.length || ip4Fields.length > 0) {\n throw new ParseError(input, 'Cannot end with delimiter besides ::');\n }\n }\n\n /* With values collected, ensure we don't have too many/few */\n if (ip4Fields.length === 0) {\n if (ip6Fields.length > 8) {\n throw new ParseError(input, 'Too many fields');\n } else if (ip6Fields.length < 8 && expIndex === null) {\n throw new ParseError(input, 'Too few fields');\n }\n } else {\n if (ip4Fields.length !== 4) {\n throw new ParseError(input, 'IPv4 portion must have 4 fields');\n }\n /* If this is a bare IP address, implicitly convert to IPv4 mapped */\n if (ip6Fields.length === 0 && expIndex === null) {\n result._attrs.ipv4Bare = true;\n ip6Fields = ['ffff'];\n expIndex = 0;\n }\n\n if (ip6Fields.length > 6) {\n throw new ParseError(input, 'Too many fields');\n } else if (ip6Fields.length < 6 && expIndex === null) {\n throw new ParseError(input, 'Too few fields');\n }\n }\n\n /* Parse integer values */\n var field, num;\n for (i = 0; i < ip6Fields.length; i++) {\n field = ip6Fields[i];\n num = jsprim.parseInteger(field, { base: 16, allowSign: false });\n if (num instanceof Error || num < 0 || num > 65535) {\n throw new ParseError(input, 'Invalid field value: ' + field);\n }\n ip6Fields[i] = num;\n }\n for (i = 0; i < ip4Fields.length; i++) {\n field = ip4Fields[i];\n num = jsprim.parseInteger(field, { base: 10, allowSign: false });\n if (num instanceof Error || num < 0 || num > 255) {\n throw new ParseError(input, 'Invalid field value: ' + field);\n }\n ip4Fields[i] = num;\n }\n\n /* Collapse IPv4 portion, if necessary */\n if (ip4Fields.length !== 0) {\n ip6Fields.push((ip4Fields[0]*256) + ip4Fields[1]);\n ip6Fields.push((ip4Fields[2]*256) + ip4Fields[3]);\n }\n\n /* Expand '::' delimiter into implied 0s */\n if (ip6Fields.length < 8 && expIndex !== null) {\n var filler = [];\n for (i = 0; i < (8 - ip6Fields.length); i++) {\n filler.push(0);\n }\n ip6Fields = Array.prototype.concat(\n ip6Fields.slice(0, expIndex),\n filler,\n ip6Fields.slice(expIndex)\n );\n }\n\n /*\n * If dotted-quad notation was used, ensure the input was either a bare ipv4\n * address or a valid ipv4-mapped address.\n */\n if (ip4Fields.length !== 0) {\n if (!_ipv4Mapped(ip6Fields)) {\n throw new ParseError(input, 'invalid dotted-quad notation');\n } else {\n result._attrs.ipv4Mapped = true;\n }\n }\n\n result._fields = ip6Fields;\n\n return result;\n}\n\nfunction parseLong(input) {\n assert.number(input);\n if (input !== Math.floor(input)) {\n throw new Error('Value must be integer');\n }\n if (input < 0 || input > 0xffffffff) {\n throw new Error('Value must be 32 bit');\n }\n var out = new Addr();\n out._fields[7] = input & 0xffff;\n out._fields[6] = (input >>> 16);\n /* this is ipv4-mapped */\n out._fields[5] = 0xffff;\n out._attrs.ipv4Bare = true;\n out._attrs.ipv4Mapped = true;\n return out;\n}\n\n/**\n * Compare Addr objects in a manner suitable for Array.sort().\n */\nfunction ip6addrCompare(a, b) {\n a = _toAddr(a);\n b = _toAddr(b);\n\n var i;\n for (i = 0; i < 8; i++) {\n if (a._fields[i] < b._fields[i]) {\n return -1;\n } else if (a._fields[i] > b._fields[i]) {\n return 1;\n }\n }\n return 0;\n}\n\n\n///--- Exports\n\nmodule.exports = {\n parse: ip6addrParse,\n compare: ip6addrCompare,\n createCIDR: function (addr, len) {\n return new CIDR(addr, len);\n },\n compareCIDR: ip6cidrCompare,\n createAddrRange: function (begin, end) {\n return new AddrRange(begin, end);\n }\n};\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","/**\r\n * JSONSchema Validator - Validates JavaScript objects using JSON Schemas\r\n *\t(http://www.json.com/json-schema-proposal/)\r\n * Licensed under AFL-2.1 OR BSD-3-Clause\r\nTo use the validator call the validate function with an instance object and an optional schema object.\r\nIf a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating),\r\nthat schema will be used to validate and the schema parameter is not necessary (if both exist,\r\nboth validations will occur).\r\nThe validate method will return an array of validation errors. If there are no errors, then an\r\nempty list will be returned. A validation error will have two properties:\r\n\"property\" which indicates which property had the error\r\n\"message\" which indicates what the error was\r\n */\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], function () {\r\n return factory();\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n } else {\r\n // Browser globals\r\n root.jsonSchema = factory();\r\n }\r\n}(this, function () {// setup primitive classes to be JSON Schema types\r\nvar exports = validate\r\nexports.Integer = {type:\"integer\"};\r\nvar primitiveConstructors = {\r\n\tString: String,\r\n\tBoolean: Boolean,\r\n\tNumber: Number,\r\n\tObject: Object,\r\n\tArray: Array,\r\n\tDate: Date\r\n}\r\nexports.validate = validate;\r\nfunction validate(/*Any*/instance,/*Object*/schema) {\r\n\t\t// Summary:\r\n\t\t// \tTo use the validator call JSONSchema.validate with an instance object and an optional schema object.\r\n\t\t// \t\tIf a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating),\r\n\t\t// \t\tthat schema will be used to validate and the schema parameter is not necessary (if both exist,\r\n\t\t// \t\tboth validations will occur).\r\n\t\t// \t\tThe validate method will return an object with two properties:\r\n\t\t// \t\t\tvalid: A boolean indicating if the instance is valid by the schema\r\n\t\t// \t\t\terrors: An array of validation errors. If there are no errors, then an\r\n\t\t// \t\t\t\t\tempty list will be returned. A validation error will have two properties:\r\n\t\t// \t\t\t\t\t\tproperty: which indicates which property had the error\r\n\t\t// \t\t\t\t\t\tmessage: which indicates what the error was\r\n\t\t//\r\n\t\treturn validate(instance, schema, {changing: false});//, coerce: false, existingOnly: false});\r\n\t};\r\nexports.checkPropertyChange = function(/*Any*/value,/*Object*/schema, /*String*/property) {\r\n\t\t// Summary:\r\n\t\t// \t\tThe checkPropertyChange method will check to see if an value can legally be in property with the given schema\r\n\t\t// \t\tThis is slightly different than the validate method in that it will fail if the schema is readonly and it will\r\n\t\t// \t\tnot check for self-validation, it is assumed that the passed in value is already internally valid.\r\n\t\t// \t\tThe checkPropertyChange method will return the same object type as validate, see JSONSchema.validate for\r\n\t\t// \t\tinformation.\r\n\t\t//\r\n\t\treturn validate(value, schema, {changing: property || \"property\"});\r\n\t};\r\nvar validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*Object*/options) {\r\n\r\n\tif (!options) options = {};\r\n\tvar _changing = options.changing;\r\n\r\n\tfunction getType(schema){\r\n\t\treturn schema.type || (primitiveConstructors[schema.name] == schema && schema.name.toLowerCase());\r\n\t}\r\n\tvar errors = [];\r\n\t// validate a value against a property definition\r\n\tfunction checkProp(value, schema, path,i){\r\n\r\n\t\tvar l;\r\n\t\tpath += path ? typeof i == 'number' ? '[' + i + ']' : typeof i == 'undefined' ? '' : '.' + i : i;\r\n\t\tfunction addError(message){\r\n\t\t\terrors.push({property:path,message:message});\r\n\t\t}\r\n\r\n\t\tif((typeof schema != 'object' || schema instanceof Array) && (path || typeof schema != 'function') && !(schema && getType(schema))){\r\n\t\t\tif(typeof schema == 'function'){\r\n\t\t\t\tif(!(value instanceof schema)){\r\n\t\t\t\t\taddError(\"is not an instance of the class/constructor \" + schema.name);\r\n\t\t\t\t}\r\n\t\t\t}else if(schema){\r\n\t\t\t\taddError(\"Invalid schema/property definition \" + schema);\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif(_changing && schema.readonly){\r\n\t\t\taddError(\"is a readonly field, it can not be changed\");\r\n\t\t}\r\n\t\tif(schema['extends']){ // if it extends another schema, it must pass that schema as well\r\n\t\t\tcheckProp(value,schema['extends'],path,i);\r\n\t\t}\r\n\t\t// validate a value against a type definition\r\n\t\tfunction checkType(type,value){\r\n\t\t\tif(type){\r\n\t\t\t\tif(typeof type == 'string' && type != 'any' &&\r\n\t\t\t\t\t\t(type == 'null' ? value !== null : typeof value != type) &&\r\n\t\t\t\t\t\t!(value instanceof Array && type == 'array') &&\r\n\t\t\t\t\t\t!(value instanceof Date && type == 'date') &&\r\n\t\t\t\t\t\t!(type == 'integer' && value%1===0)){\r\n\t\t\t\t\treturn [{property:path,message:value + \" - \" + (typeof value) + \" value found, but a \" + type + \" is required\"}];\r\n\t\t\t\t}\r\n\t\t\t\tif(type instanceof Array){\r\n\t\t\t\t\tvar unionErrors=[];\r\n\t\t\t\t\tfor(var j = 0; j < type.length; j++){ // a union type\r\n\t\t\t\t\t\tif(!(unionErrors=checkType(type[j],value)).length){\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(unionErrors.length){\r\n\t\t\t\t\t\treturn unionErrors;\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if(typeof type == 'object'){\r\n\t\t\t\t\tvar priorErrors = errors;\r\n\t\t\t\t\terrors = [];\r\n\t\t\t\t\tcheckProp(value,type,path);\r\n\t\t\t\t\tvar theseErrors = errors;\r\n\t\t\t\t\terrors = priorErrors;\r\n\t\t\t\t\treturn theseErrors;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\tif(value === undefined){\r\n\t\t\tif(schema.required){\r\n\t\t\t\taddError(\"is missing and it is required\");\r\n\t\t\t}\r\n\t\t}else{\r\n\t\t\terrors = errors.concat(checkType(getType(schema),value));\r\n\t\t\tif(schema.disallow && !checkType(schema.disallow,value).length){\r\n\t\t\t\taddError(\" disallowed value was matched\");\r\n\t\t\t}\r\n\t\t\tif(value !== null){\r\n\t\t\t\tif(value instanceof Array){\r\n\t\t\t\t\tif(schema.items){\r\n\t\t\t\t\t\tvar itemsIsArray = schema.items instanceof Array;\r\n\t\t\t\t\t\tvar propDef = schema.items;\r\n\t\t\t\t\t\tfor (i = 0, l = value.length; i < l; i += 1) {\r\n\t\t\t\t\t\t\tif (itemsIsArray)\r\n\t\t\t\t\t\t\t\tpropDef = schema.items[i];\r\n\t\t\t\t\t\t\tif (options.coerce)\r\n\t\t\t\t\t\t\t\tvalue[i] = options.coerce(value[i], propDef);\r\n\t\t\t\t\t\t\terrors.concat(checkProp(value[i],propDef,path,i));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(schema.minItems && value.length < schema.minItems){\r\n\t\t\t\t\t\taddError(\"There must be a minimum of \" + schema.minItems + \" in the array\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(schema.maxItems && value.length > schema.maxItems){\r\n\t\t\t\t\t\taddError(\"There must be a maximum of \" + schema.maxItems + \" in the array\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}else if(schema.properties || schema.additionalProperties){\r\n\t\t\t\t\terrors.concat(checkObj(value, schema.properties, path, schema.additionalProperties));\r\n\t\t\t\t}\r\n\t\t\t\tif(schema.pattern && typeof value == 'string' && !value.match(schema.pattern)){\r\n\t\t\t\t\taddError(\"does not match the regex pattern \" + schema.pattern);\r\n\t\t\t\t}\r\n\t\t\t\tif(schema.maxLength && typeof value == 'string' && value.length > schema.maxLength){\r\n\t\t\t\t\taddError(\"may only be \" + schema.maxLength + \" characters long\");\r\n\t\t\t\t}\r\n\t\t\t\tif(schema.minLength && typeof value == 'string' && value.length < schema.minLength){\r\n\t\t\t\t\taddError(\"must be at least \" + schema.minLength + \" characters long\");\r\n\t\t\t\t}\r\n\t\t\t\tif(typeof schema.minimum !== 'undefined' && typeof value == typeof schema.minimum &&\r\n\t\t\t\t\t\tschema.minimum > value){\r\n\t\t\t\t\taddError(\"must have a minimum value of \" + schema.minimum);\r\n\t\t\t\t}\r\n\t\t\t\tif(typeof schema.maximum !== 'undefined' && typeof value == typeof schema.maximum &&\r\n\t\t\t\t\t\tschema.maximum < value){\r\n\t\t\t\t\taddError(\"must have a maximum value of \" + schema.maximum);\r\n\t\t\t\t}\r\n\t\t\t\tif(schema['enum']){\r\n\t\t\t\t\tvar enumer = schema['enum'];\r\n\t\t\t\t\tl = enumer.length;\r\n\t\t\t\t\tvar found;\r\n\t\t\t\t\tfor(var j = 0; j < l; j++){\r\n\t\t\t\t\t\tif(enumer[j]===value){\r\n\t\t\t\t\t\t\tfound=1;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(!found){\r\n\t\t\t\t\t\taddError(\"does not have a value in the enumeration \" + enumer.join(\", \"));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(typeof schema.maxDecimal == 'number' &&\r\n\t\t\t\t\t(value.toString().match(new RegExp(\"\\\\.[0-9]{\" + (schema.maxDecimal + 1) + \",}\")))){\r\n\t\t\t\t\taddError(\"may only have \" + schema.maxDecimal + \" digits of decimal places\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\t// validate an object against a schema\r\n\tfunction checkObj(instance,objTypeDef,path,additionalProp){\r\n\r\n\t\tif(typeof objTypeDef =='object'){\r\n\t\t\tif(typeof instance != 'object' || instance instanceof Array){\r\n\t\t\t\terrors.push({property:path,message:\"an object is required\"});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tfor(var i in objTypeDef){ \r\n\t\t\t\tif(objTypeDef.hasOwnProperty(i) && i != '__proto__' && i != 'constructor'){\r\n\t\t\t\t\tvar value = instance.hasOwnProperty(i) ? instance[i] : undefined;\r\n\t\t\t\t\t// skip _not_ specified properties\r\n\t\t\t\t\tif (value === undefined && options.existingOnly) continue;\r\n\t\t\t\t\tvar propDef = objTypeDef[i];\r\n\t\t\t\t\t// set default\r\n\t\t\t\t\tif(value === undefined && propDef[\"default\"]){\r\n\t\t\t\t\t\tvalue = instance[i] = propDef[\"default\"];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(options.coerce && i in instance){\r\n\t\t\t\t\t\tvalue = instance[i] = options.coerce(value, propDef);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcheckProp(value,propDef,path,i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tfor(i in instance){\r\n\t\t\tif(instance.hasOwnProperty(i) && !(i.charAt(0) == '_' && i.charAt(1) == '_') && objTypeDef && !objTypeDef[i] && additionalProp===false){\r\n\t\t\t\tif (options.filter) {\r\n\t\t\t\t\tdelete instance[i];\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t} else {\r\n\t\t\t\t\terrors.push({property:path,message:\"The property \" + i +\r\n\t\t\t\t\t\t\" is not defined in the schema and the schema does not allow additional properties\"});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar requires = objTypeDef && objTypeDef[i] && objTypeDef[i].requires;\r\n\t\t\tif(requires && !(requires in instance)){\r\n\t\t\t\terrors.push({property:path,message:\"the presence of the property \" + i + \" requires that \" + requires + \" also be present\"});\r\n\t\t\t}\r\n\t\t\tvalue = instance[i];\r\n\t\t\tif(additionalProp && (!(objTypeDef && typeof objTypeDef == 'object') || !(i in objTypeDef))){\r\n\t\t\t\tif(options.coerce){\r\n\t\t\t\t\tvalue = instance[i] = options.coerce(value, additionalProp);\r\n\t\t\t\t}\r\n\t\t\t\tcheckProp(value,additionalProp,path,i);\r\n\t\t\t}\r\n\t\t\tif(!_changing && value && value.$schema){\r\n\t\t\t\terrors = errors.concat(checkProp(value,value.$schema,path,i));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn errors;\r\n\t}\r\n\tif(schema){\r\n\t\tcheckProp(instance,schema,'',_changing || '');\r\n\t}\r\n\tif(!_changing && instance && instance.$schema){\r\n\t\tcheckProp(instance,instance.$schema,'','');\r\n\t}\r\n\treturn {valid:!errors.length,errors:errors};\r\n};\r\nexports.mustBeValid = function(result){\r\n\t//\tsummary:\r\n\t//\t\tThis checks to ensure that the result is valid and will throw an appropriate error message if it is not\r\n\t// result: the result returned from checkPropertyChange or validate\r\n\tif(!result.valid){\r\n\t\tthrow new TypeError(result.errors.map(function(error){return \"for property \" + error.property + ': ' + error.message;}).join(\", \\n\"));\r\n\t}\r\n}\r\n\r\nreturn exports;\r\n}));\r\n","/*\n * lib/jsprim.js: utilities for primitive JavaScript types\n */\n\nvar mod_assert = require('assert-plus');\nvar mod_util = require('util');\n\nvar mod_extsprintf = require('extsprintf');\nvar mod_verror = require('verror');\nvar mod_jsonschema = require('json-schema');\n\n/*\n * Public interface\n */\nexports.deepCopy = deepCopy;\nexports.deepEqual = deepEqual;\nexports.isEmpty = isEmpty;\nexports.hasKey = hasKey;\nexports.forEachKey = forEachKey;\nexports.pluck = pluck;\nexports.flattenObject = flattenObject;\nexports.flattenIter = flattenIter;\nexports.validateJsonObject = validateJsonObjectJS;\nexports.validateJsonObjectJS = validateJsonObjectJS;\nexports.randElt = randElt;\nexports.extraProperties = extraProperties;\nexports.mergeObjects = mergeObjects;\n\nexports.startsWith = startsWith;\nexports.endsWith = endsWith;\n\nexports.parseInteger = parseInteger;\n\nexports.iso8601 = iso8601;\nexports.rfc1123 = rfc1123;\nexports.parseDateTime = parseDateTime;\n\nexports.hrtimediff = hrtimeDiff;\nexports.hrtimeDiff = hrtimeDiff;\nexports.hrtimeAccum = hrtimeAccum;\nexports.hrtimeAdd = hrtimeAdd;\nexports.hrtimeNanosec = hrtimeNanosec;\nexports.hrtimeMicrosec = hrtimeMicrosec;\nexports.hrtimeMillisec = hrtimeMillisec;\n\n\n/*\n * Deep copy an acyclic *basic* Javascript object. This only handles basic\n * scalars (strings, numbers, booleans) and arbitrarily deep arrays and objects\n * containing these. This does *not* handle instances of other classes.\n */\nfunction deepCopy(obj)\n{\n\tvar ret, key;\n\tvar marker = '__deepCopy';\n\n\tif (obj && obj[marker])\n\t\tthrow (new Error('attempted deep copy of cyclic object'));\n\n\tif (obj && obj.constructor == Object) {\n\t\tret = {};\n\t\tobj[marker] = true;\n\n\t\tfor (key in obj) {\n\t\t\tif (key == marker)\n\t\t\t\tcontinue;\n\n\t\t\tret[key] = deepCopy(obj[key]);\n\t\t}\n\n\t\tdelete (obj[marker]);\n\t\treturn (ret);\n\t}\n\n\tif (obj && obj.constructor == Array) {\n\t\tret = [];\n\t\tobj[marker] = true;\n\n\t\tfor (key = 0; key < obj.length; key++)\n\t\t\tret.push(deepCopy(obj[key]));\n\n\t\tdelete (obj[marker]);\n\t\treturn (ret);\n\t}\n\n\t/*\n\t * It must be a primitive type -- just return it.\n\t */\n\treturn (obj);\n}\n\nfunction deepEqual(obj1, obj2)\n{\n\tif (typeof (obj1) != typeof (obj2))\n\t\treturn (false);\n\n\tif (obj1 === null || obj2 === null || typeof (obj1) != 'object')\n\t\treturn (obj1 === obj2);\n\n\tif (obj1.constructor != obj2.constructor)\n\t\treturn (false);\n\n\tvar k;\n\tfor (k in obj1) {\n\t\tif (!(k in obj2))\n\t\t\treturn (false);\n\n\t\tif (!deepEqual(obj1[k], obj2[k]))\n\t\t\treturn (false);\n\t}\n\n\tfor (k in obj2) {\n\t\tif (!(k in obj1))\n\t\t\treturn (false);\n\t}\n\n\treturn (true);\n}\n\nfunction isEmpty(obj)\n{\n\tvar key;\n\tfor (key in obj)\n\t\treturn (false);\n\treturn (true);\n}\n\nfunction hasKey(obj, key)\n{\n\tmod_assert.equal(typeof (key), 'string');\n\treturn (Object.prototype.hasOwnProperty.call(obj, key));\n}\n\nfunction forEachKey(obj, callback)\n{\n\tfor (var key in obj) {\n\t\tif (hasKey(obj, key)) {\n\t\t\tcallback(key, obj[key]);\n\t\t}\n\t}\n}\n\nfunction pluck(obj, key)\n{\n\tmod_assert.equal(typeof (key), 'string');\n\treturn (pluckv(obj, key));\n}\n\nfunction pluckv(obj, key)\n{\n\tif (obj === null || typeof (obj) !== 'object')\n\t\treturn (undefined);\n\n\tif (obj.hasOwnProperty(key))\n\t\treturn (obj[key]);\n\n\tvar i = key.indexOf('.');\n\tif (i == -1)\n\t\treturn (undefined);\n\n\tvar key1 = key.substr(0, i);\n\tif (!obj.hasOwnProperty(key1))\n\t\treturn (undefined);\n\n\treturn (pluckv(obj[key1], key.substr(i + 1)));\n}\n\n/*\n * Invoke callback(row) for each entry in the array that would be returned by\n * flattenObject(data, depth). This is just like flattenObject(data,\n * depth).forEach(callback), except that the intermediate array is never\n * created.\n */\nfunction flattenIter(data, depth, callback)\n{\n\tdoFlattenIter(data, depth, [], callback);\n}\n\nfunction doFlattenIter(data, depth, accum, callback)\n{\n\tvar each;\n\tvar key;\n\n\tif (depth === 0) {\n\t\teach = accum.slice(0);\n\t\teach.push(data);\n\t\tcallback(each);\n\t\treturn;\n\t}\n\n\tmod_assert.ok(data !== null);\n\tmod_assert.equal(typeof (data), 'object');\n\tmod_assert.equal(typeof (depth), 'number');\n\tmod_assert.ok(depth >= 0);\n\n\tfor (key in data) {\n\t\teach = accum.slice(0);\n\t\teach.push(key);\n\t\tdoFlattenIter(data[key], depth - 1, each, callback);\n\t}\n}\n\nfunction flattenObject(data, depth)\n{\n\tif (depth === 0)\n\t\treturn ([ data ]);\n\n\tmod_assert.ok(data !== null);\n\tmod_assert.equal(typeof (data), 'object');\n\tmod_assert.equal(typeof (depth), 'number');\n\tmod_assert.ok(depth >= 0);\n\n\tvar rv = [];\n\tvar key;\n\n\tfor (key in data) {\n\t\tflattenObject(data[key], depth - 1).forEach(function (p) {\n\t\t\trv.push([ key ].concat(p));\n\t\t});\n\t}\n\n\treturn (rv);\n}\n\nfunction startsWith(str, prefix)\n{\n\treturn (str.substr(0, prefix.length) == prefix);\n}\n\nfunction endsWith(str, suffix)\n{\n\treturn (str.substr(\n\t str.length - suffix.length, suffix.length) == suffix);\n}\n\nfunction iso8601(d)\n{\n\tif (typeof (d) == 'number')\n\t\td = new Date(d);\n\tmod_assert.ok(d.constructor === Date);\n\treturn (mod_extsprintf.sprintf('%4d-%02d-%02dT%02d:%02d:%02d.%03dZ',\n\t d.getUTCFullYear(), d.getUTCMonth() + 1, d.getUTCDate(),\n\t d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(),\n\t d.getUTCMilliseconds()));\n}\n\nvar RFC1123_MONTHS = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar RFC1123_DAYS = [\n 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\nfunction rfc1123(date) {\n\treturn (mod_extsprintf.sprintf('%s, %02d %s %04d %02d:%02d:%02d GMT',\n\t RFC1123_DAYS[date.getUTCDay()], date.getUTCDate(),\n\t RFC1123_MONTHS[date.getUTCMonth()], date.getUTCFullYear(),\n\t date.getUTCHours(), date.getUTCMinutes(),\n\t date.getUTCSeconds()));\n}\n\n/*\n * Parses a date expressed as a string, as either a number of milliseconds since\n * the epoch or any string format that Date accepts, giving preference to the\n * former where these two sets overlap (e.g., small numbers).\n */\nfunction parseDateTime(str)\n{\n\t/*\n\t * This is irritatingly implicit, but significantly more concise than\n\t * alternatives. The \"+str\" will convert a string containing only a\n\t * number directly to a Number, or NaN for other strings. Thus, if the\n\t * conversion succeeds, we use it (this is the milliseconds-since-epoch\n\t * case). Otherwise, we pass the string directly to the Date\n\t * constructor to parse.\n\t */\n\tvar numeric = +str;\n\tif (!isNaN(numeric)) {\n\t\treturn (new Date(numeric));\n\t} else {\n\t\treturn (new Date(str));\n\t}\n}\n\n\n/*\n * Number.*_SAFE_INTEGER isn't present before node v0.12, so we hardcode\n * the ES6 definitions here, while allowing for them to someday be higher.\n */\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;\nvar MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;\n\n\n/*\n * Default options for parseInteger().\n */\nvar PI_DEFAULTS = {\n\tbase: 10,\n\tallowSign: true,\n\tallowPrefix: false,\n\tallowTrailing: false,\n\tallowImprecise: false,\n\ttrimWhitespace: false,\n\tleadingZeroIsOctal: false\n};\n\nvar CP_0 = 0x30;\nvar CP_9 = 0x39;\n\nvar CP_A = 0x41;\nvar CP_B = 0x42;\nvar CP_O = 0x4f;\nvar CP_T = 0x54;\nvar CP_X = 0x58;\nvar CP_Z = 0x5a;\n\nvar CP_a = 0x61;\nvar CP_b = 0x62;\nvar CP_o = 0x6f;\nvar CP_t = 0x74;\nvar CP_x = 0x78;\nvar CP_z = 0x7a;\n\nvar PI_CONV_DEC = 0x30;\nvar PI_CONV_UC = 0x37;\nvar PI_CONV_LC = 0x57;\n\n\n/*\n * A stricter version of parseInt() that provides options for changing what\n * is an acceptable string (for example, disallowing trailing characters).\n */\nfunction parseInteger(str, uopts)\n{\n\tmod_assert.string(str, 'str');\n\tmod_assert.optionalObject(uopts, 'options');\n\n\tvar baseOverride = false;\n\tvar options = PI_DEFAULTS;\n\n\tif (uopts) {\n\t\tbaseOverride = hasKey(uopts, 'base');\n\t\toptions = mergeObjects(options, uopts);\n\t\tmod_assert.number(options.base, 'options.base');\n\t\tmod_assert.ok(options.base >= 2, 'options.base >= 2');\n\t\tmod_assert.ok(options.base <= 36, 'options.base <= 36');\n\t\tmod_assert.bool(options.allowSign, 'options.allowSign');\n\t\tmod_assert.bool(options.allowPrefix, 'options.allowPrefix');\n\t\tmod_assert.bool(options.allowTrailing,\n\t\t 'options.allowTrailing');\n\t\tmod_assert.bool(options.allowImprecise,\n\t\t 'options.allowImprecise');\n\t\tmod_assert.bool(options.trimWhitespace,\n\t\t 'options.trimWhitespace');\n\t\tmod_assert.bool(options.leadingZeroIsOctal,\n\t\t 'options.leadingZeroIsOctal');\n\n\t\tif (options.leadingZeroIsOctal) {\n\t\t\tmod_assert.ok(!baseOverride,\n\t\t\t '\"base\" and \"leadingZeroIsOctal\" are ' +\n\t\t\t 'mutually exclusive');\n\t\t}\n\t}\n\n\tvar c;\n\tvar pbase = -1;\n\tvar base = options.base;\n\tvar start;\n\tvar mult = 1;\n\tvar value = 0;\n\tvar idx = 0;\n\tvar len = str.length;\n\n\t/* Trim any whitespace on the left side. */\n\tif (options.trimWhitespace) {\n\t\twhile (idx < len && isSpace(str.charCodeAt(idx))) {\n\t\t\t++idx;\n\t\t}\n\t}\n\n\t/* Check the number for a leading sign. */\n\tif (options.allowSign) {\n\t\tif (str[idx] === '-') {\n\t\t\tidx += 1;\n\t\t\tmult = -1;\n\t\t} else if (str[idx] === '+') {\n\t\t\tidx += 1;\n\t\t}\n\t}\n\n\t/* Parse the base-indicating prefix if there is one. */\n\tif (str[idx] === '0') {\n\t\tif (options.allowPrefix) {\n\t\t\tpbase = prefixToBase(str.charCodeAt(idx + 1));\n\t\t\tif (pbase !== -1 && (!baseOverride || pbase === base)) {\n\t\t\t\tbase = pbase;\n\t\t\t\tidx += 2;\n\t\t\t}\n\t\t}\n\n\t\tif (pbase === -1 && options.leadingZeroIsOctal) {\n\t\t\tbase = 8;\n\t\t}\n\t}\n\n\t/* Parse the actual digits. */\n\tfor (start = idx; idx < len; ++idx) {\n\t\tc = translateDigit(str.charCodeAt(idx));\n\t\tif (c !== -1 && c < base) {\n\t\t\tvalue *= base;\n\t\t\tvalue += c;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* If we didn't parse any digits, we have an invalid number. */\n\tif (start === idx) {\n\t\treturn (new Error('invalid number: ' + JSON.stringify(str)));\n\t}\n\n\t/* Trim any whitespace on the right side. */\n\tif (options.trimWhitespace) {\n\t\twhile (idx < len && isSpace(str.charCodeAt(idx))) {\n\t\t\t++idx;\n\t\t}\n\t}\n\n\t/* Check for trailing characters. */\n\tif (idx < len && !options.allowTrailing) {\n\t\treturn (new Error('trailing characters after number: ' +\n\t\t JSON.stringify(str.slice(idx))));\n\t}\n\n\t/* If our value is 0, we return now, to avoid returning -0. */\n\tif (value === 0) {\n\t\treturn (0);\n\t}\n\n\t/* Calculate our final value. */\n\tvar result = value * mult;\n\n\t/*\n\t * If the string represents a value that cannot be precisely represented\n\t * by JavaScript, then we want to check that:\n\t *\n\t * - We never increased the value past MAX_SAFE_INTEGER\n\t * - We don't make the result negative and below MIN_SAFE_INTEGER\n\t *\n\t * Because we only ever increment the value during parsing, there's no\n\t * chance of moving past MAX_SAFE_INTEGER and then dropping below it\n\t * again, losing precision in the process. This means that we only need\n\t * to do our checks here, at the end.\n\t */\n\tif (!options.allowImprecise &&\n\t (value > MAX_SAFE_INTEGER || result < MIN_SAFE_INTEGER)) {\n\t\treturn (new Error('number is outside of the supported range: ' +\n\t\t JSON.stringify(str.slice(start, idx))));\n\t}\n\n\treturn (result);\n}\n\n\n/*\n * Interpret a character code as a base-36 digit.\n */\nfunction translateDigit(d)\n{\n\tif (d >= CP_0 && d <= CP_9) {\n\t\t/* '0' to '9' -> 0 to 9 */\n\t\treturn (d - PI_CONV_DEC);\n\t} else if (d >= CP_A && d <= CP_Z) {\n\t\t/* 'A' - 'Z' -> 10 to 35 */\n\t\treturn (d - PI_CONV_UC);\n\t} else if (d >= CP_a && d <= CP_z) {\n\t\t/* 'a' - 'z' -> 10 to 35 */\n\t\treturn (d - PI_CONV_LC);\n\t} else {\n\t\t/* Invalid character code */\n\t\treturn (-1);\n\t}\n}\n\n\n/*\n * Test if a value matches the ECMAScript definition of trimmable whitespace.\n */\nfunction isSpace(c)\n{\n\treturn (c === 0x20) ||\n\t (c >= 0x0009 && c <= 0x000d) ||\n\t (c === 0x00a0) ||\n\t (c === 0x1680) ||\n\t (c === 0x180e) ||\n\t (c >= 0x2000 && c <= 0x200a) ||\n\t (c === 0x2028) ||\n\t (c === 0x2029) ||\n\t (c === 0x202f) ||\n\t (c === 0x205f) ||\n\t (c === 0x3000) ||\n\t (c === 0xfeff);\n}\n\n\n/*\n * Determine which base a character indicates (e.g., 'x' indicates hex).\n */\nfunction prefixToBase(c)\n{\n\tif (c === CP_b || c === CP_B) {\n\t\t/* 0b/0B (binary) */\n\t\treturn (2);\n\t} else if (c === CP_o || c === CP_O) {\n\t\t/* 0o/0O (octal) */\n\t\treturn (8);\n\t} else if (c === CP_t || c === CP_T) {\n\t\t/* 0t/0T (decimal) */\n\t\treturn (10);\n\t} else if (c === CP_x || c === CP_X) {\n\t\t/* 0x/0X (hexadecimal) */\n\t\treturn (16);\n\t} else {\n\t\t/* Not a meaningful character */\n\t\treturn (-1);\n\t}\n}\n\n\nfunction validateJsonObjectJS(schema, input)\n{\n\tvar report = mod_jsonschema.validate(input, schema);\n\n\tif (report.errors.length === 0)\n\t\treturn (null);\n\n\t/* Currently, we only do anything useful with the first error. */\n\tvar error = report.errors[0];\n\n\t/* The failed property is given by a URI with an irrelevant prefix. */\n\tvar propname = error['property'];\n\tvar reason = error['message'].toLowerCase();\n\tvar i, j;\n\n\t/*\n\t * There's at least one case where the property error message is\n\t * confusing at best. We work around this here.\n\t */\n\tif ((i = reason.indexOf('the property ')) != -1 &&\n\t (j = reason.indexOf(' is not defined in the schema and the ' +\n\t 'schema does not allow additional properties')) != -1) {\n\t\ti += 'the property '.length;\n\t\tif (propname === '')\n\t\t\tpropname = reason.substr(i, j - i);\n\t\telse\n\t\t\tpropname = propname + '.' + reason.substr(i, j - i);\n\n\t\treason = 'unsupported property';\n\t}\n\n\tvar rv = new mod_verror.VError('property \"%s\": %s', propname, reason);\n\trv.jsv_details = error;\n\treturn (rv);\n}\n\nfunction randElt(arr)\n{\n\tmod_assert.ok(Array.isArray(arr) && arr.length > 0,\n\t 'randElt argument must be a non-empty array');\n\n\treturn (arr[Math.floor(Math.random() * arr.length)]);\n}\n\nfunction assertHrtime(a)\n{\n\tmod_assert.ok(a[0] >= 0 && a[1] >= 0,\n\t 'negative numbers not allowed in hrtimes');\n\tmod_assert.ok(a[1] < 1e9, 'nanoseconds column overflow');\n}\n\n/*\n * Compute the time elapsed between hrtime readings A and B, where A is later\n * than B. hrtime readings come from Node's process.hrtime(). There is no\n * defined way to represent negative deltas, so it's illegal to diff B from A\n * where the time denoted by B is later than the time denoted by A. If this\n * becomes valuable, we can define a representation and extend the\n * implementation to support it.\n */\nfunction hrtimeDiff(a, b)\n{\n\tassertHrtime(a);\n\tassertHrtime(b);\n\tmod_assert.ok(a[0] > b[0] || (a[0] == b[0] && a[1] >= b[1]),\n\t 'negative differences not allowed');\n\n\tvar rv = [ a[0] - b[0], 0 ];\n\n\tif (a[1] >= b[1]) {\n\t\trv[1] = a[1] - b[1];\n\t} else {\n\t\trv[0]--;\n\t\trv[1] = 1e9 - (b[1] - a[1]);\n\t}\n\n\treturn (rv);\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of nanoseconds.\n */\nfunction hrtimeNanosec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e9 + a[1]));\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of microseconds.\n */\nfunction hrtimeMicrosec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e6 + a[1] / 1e3));\n}\n\n/*\n * Convert a hrtime reading from the array format returned by Node's\n * process.hrtime() into a scalar number of milliseconds.\n */\nfunction hrtimeMillisec(a)\n{\n\tassertHrtime(a);\n\n\treturn (Math.floor(a[0] * 1e3 + a[1] / 1e6));\n}\n\n/*\n * Add two hrtime readings A and B, overwriting A with the result of the\n * addition. This function is useful for accumulating several hrtime intervals\n * into a counter. Returns A.\n */\nfunction hrtimeAccum(a, b)\n{\n\tassertHrtime(a);\n\tassertHrtime(b);\n\n\t/*\n\t * Accumulate the nanosecond component.\n\t */\n\ta[1] += b[1];\n\tif (a[1] >= 1e9) {\n\t\t/*\n\t\t * The nanosecond component overflowed, so carry to the seconds\n\t\t * field.\n\t\t */\n\t\ta[0]++;\n\t\ta[1] -= 1e9;\n\t}\n\n\t/*\n\t * Accumulate the seconds component.\n\t */\n\ta[0] += b[0];\n\n\treturn (a);\n}\n\n/*\n * Add two hrtime readings A and B, returning the result as a new hrtime array.\n * Does not modify either input argument.\n */\nfunction hrtimeAdd(a, b)\n{\n\tassertHrtime(a);\n\n\tvar rv = [ a[0], a[1] ];\n\n\treturn (hrtimeAccum(rv, b));\n}\n\n\n/*\n * Check an object for unexpected properties. Accepts the object to check, and\n * an array of allowed property names (strings). Returns an array of key names\n * that were found on the object, but did not appear in the list of allowed\n * properties. If no properties were found, the returned array will be of\n * zero length.\n */\nfunction extraProperties(obj, allowed)\n{\n\tmod_assert.ok(typeof (obj) === 'object' && obj !== null,\n\t 'obj argument must be a non-null object');\n\tmod_assert.ok(Array.isArray(allowed),\n\t 'allowed argument must be an array of strings');\n\tfor (var i = 0; i < allowed.length; i++) {\n\t\tmod_assert.ok(typeof (allowed[i]) === 'string',\n\t\t 'allowed argument must be an array of strings');\n\t}\n\n\treturn (Object.keys(obj).filter(function (key) {\n\t\treturn (allowed.indexOf(key) === -1);\n\t}));\n}\n\n/*\n * Given three sets of properties \"provided\" (may be undefined), \"overrides\"\n * (required), and \"defaults\" (may be undefined), construct an object containing\n * the union of these sets with \"overrides\" overriding \"provided\", and\n * \"provided\" overriding \"defaults\". None of the input objects are modified.\n */\nfunction mergeObjects(provided, overrides, defaults)\n{\n\tvar rv, k;\n\n\trv = {};\n\tif (defaults) {\n\t\tfor (k in defaults)\n\t\t\trv[k] = defaults[k];\n\t}\n\n\tif (provided) {\n\t\tfor (k in provided)\n\t\t\trv[k] = provided[k];\n\t}\n\n\tif (overrides) {\n\t\tfor (k in overrides)\n\t\t\trv[k] = overrides[k];\n\t}\n\n\treturn (rv);\n}\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.40\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.40\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e that uses HTML5 history.\n */\n\nvar BrowserRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createBrowserHistory(_this.props);\n return _this;\n }\n\n var _proto = BrowserRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return BrowserRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(HashRouter, _React$Component);\n\n function HashRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createHashHistory(_this.props);\n return _this;\n }\n\n var _proto = HashRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return HashRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\") : void 0;\n };\n}\n\nvar resolveToLocation = function resolveToLocation(to, currentLocation) {\n return typeof to === \"function\" ? to(currentLocation) : to;\n};\nvar normalizeToLocation = function normalizeToLocation(to, currentLocation) {\n return typeof to === \"string\" ? createLocation(to, null, null, currentLocation) : to;\n};\n\nvar forwardRefShim = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nvar LinkAnchor = forwardRef(function (_ref, forwardedRef) {\n var innerRef = _ref.innerRef,\n navigate = _ref.navigate,\n _onClick = _ref.onClick,\n rest = _objectWithoutPropertiesLoose(_ref, [\"innerRef\", \"navigate\", \"onClick\"]);\n\n var target = rest.target;\n\n var props = _extends({}, rest, {\n onClick: function onClick(event) {\n try {\n if (_onClick) _onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (!event.defaultPrevented && // onClick prevented default\n event.button === 0 && ( // ignore everything but left clicks\n !target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n\n\n return /*#__PURE__*/React.createElement(\"a\", props);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n/**\n * The public API for rendering a history-aware .\n */\n\n\nvar Link = forwardRef(function (_ref2, forwardedRef) {\n var _ref2$component = _ref2.component,\n component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,\n replace = _ref2.replace,\n to = _ref2.to,\n innerRef = _ref2.innerRef,\n rest = _objectWithoutPropertiesLoose(_ref2, [\"component\", \"replace\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/React.createElement(__RouterContext.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history;\n var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);\n var href = location ? history.createHref(location) : \"\";\n\n var props = _extends({}, rest, {\n href: href,\n navigate: function navigate() {\n var location = resolveToLocation(to, context.location);\n var isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n var method = replace || isDuplicateNavigation ? history.replace : history.push;\n method(location);\n }\n }); // React 15 compat\n\n\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/React.createElement(component, props);\n });\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n var toType = PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.func]);\n var refType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.shape({\n current: PropTypes.any\n })]);\n Link.displayName = \"Link\";\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nvar forwardRefShim$1 = function forwardRefShim(C) {\n return C;\n};\n\nvar forwardRef$1 = React.forwardRef;\n\nif (typeof forwardRef$1 === \"undefined\") {\n forwardRef$1 = forwardRefShim$1;\n}\n\nfunction joinClassnames() {\n for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {\n classnames[_key] = arguments[_key];\n }\n\n return classnames.filter(function (i) {\n return i;\n }).join(\" \");\n}\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\n\n\nvar NavLink = forwardRef$1(function (_ref, forwardedRef) {\n var _ref$ariaCurrent = _ref[\"aria-current\"],\n ariaCurrent = _ref$ariaCurrent === void 0 ? \"page\" : _ref$ariaCurrent,\n _ref$activeClassName = _ref.activeClassName,\n activeClassName = _ref$activeClassName === void 0 ? \"active\" : _ref$activeClassName,\n activeStyle = _ref.activeStyle,\n classNameProp = _ref.className,\n exact = _ref.exact,\n isActiveProp = _ref.isActive,\n locationProp = _ref.location,\n sensitive = _ref.sensitive,\n strict = _ref.strict,\n styleProp = _ref.style,\n to = _ref.to,\n innerRef = _ref.innerRef,\n rest = _objectWithoutPropertiesLoose(_ref, [\"aria-current\", \"activeClassName\", \"activeStyle\", \"className\", \"exact\", \"isActive\", \"location\", \"sensitive\", \"strict\", \"style\", \"to\", \"innerRef\"]);\n\n return /*#__PURE__*/React.createElement(__RouterContext.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var currentLocation = locationProp || context.location;\n var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);\n var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n var match = escapedPath ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact: exact,\n sensitive: sensitive,\n strict: strict\n }) : null;\n var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);\n var className = typeof classNameProp === \"function\" ? classNameProp(isActive) : classNameProp;\n var style = typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = _extends({}, style, activeStyle);\n }\n\n var props = _extends({\n \"aria-current\": isActive && ariaCurrent || null,\n className: className,\n style: style,\n to: toLocation\n }, rest); // React 15 compat\n\n\n if (forwardRefShim$1 !== forwardRef$1) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return /*#__PURE__*/React.createElement(Link, props);\n });\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n NavLink.displayName = \"NavLink\";\n var ariaCurrentType = PropTypes.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\", \"false\"]);\n NavLink.propTypes = _extends({}, Link.propTypes, {\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n });\n}\n\nexport { BrowserRouter, HashRouter, Link, NavLink };\n//# sourceMappingURL=react-router-dom.js.map\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport warning from 'tiny-warning';\nimport createContext from 'mini-create-react-context';\nimport invariant from 'tiny-invariant';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport pathToRegexp from 'path-to-regexp';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics';\n\n// TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\");\n\nvar context = /*#__PURE__*/createNamedContext(\"Router\");\n\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\n }; // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n _this._pendingLocation = location;\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(function (location) {\n if (_this2._isMounted) {\n _this2.setState({\n location: location\n });\n }\n });\n }\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: {\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }\n }, /*#__PURE__*/React.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n\n/**\n * The public API for a that stores location in memory.\n */\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(React.Component);\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n\n/**\n * The public API for navigating programmatically with a component.\n */\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n process.env.NODE_ENV !== \"production\" ? warning(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = _extends({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return /*#__PURE__*/React.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : children : component ? /*#__PURE__*/React.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : null);\n });\n };\n\n return Route;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: function component(props, propName) {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, location, {\n pathname: location.pathname.substr(base.length)\n });\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false) ;\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n return /*#__PURE__*/React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n\n/**\n * The public API for rendering the first that matches.\n */\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context.location;\n var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && /*#__PURE__*/React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? /*#__PURE__*/React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\n/**\n * A public higher-order component to access the imperative API\n */\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n\n return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return /*#__PURE__*/React.createElement(Component, _extends({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (process.env.NODE_ENV !== \"production\") {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nvar useContext = React.useContext;\nfunction useHistory() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useHistory()\") : invariant(false) : void 0;\n }\n\n return useContext(historyContext);\n}\nfunction useLocation() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useLocation()\") : invariant(false) : void 0;\n }\n\n return useContext(context).location;\n}\nfunction useParams() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useParams()\") : invariant(false) : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\nfunction useRouteMatch(path) {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : invariant(false) : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, historyContext as __HistoryContext, context as __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter };\n//# sourceMappingURL=react-router.js.map\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = prefix || defaultDelimiter\n var pattern = capture || group\n var prevText = prefix || (typeof tokens[tokens.length - 1] === 'string' ? tokens[tokens.length - 1] : '')\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : restrictBacktrack(delimiter, prevText))\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\nfunction restrictBacktrack(delimiter, prevText) {\n if (!prevText || prevText.indexOf(delimiter) > -1) {\n return '[^' + escapeString(delimiter) + ']+?'\n }\n\n return escapeString(prevText) + '|(?:(?!' + escapeString(prevText) + ')[^' + escapeString(delimiter) + '])+?'\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import React from 'react';\nexport default React.createContext(null);","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","/** @license React v0.20.2\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f,g,h,k;if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var t=null,u=null,w=function(){if(null!==t)try{var a=exports.unstable_now();t(!0,a);t=null}catch(b){throw setTimeout(w,0),b;}};f=function(a){null!==t?setTimeout(f,0,a):(t=a,setTimeout(w,0))};g=function(a,b){u=setTimeout(a,b)};h=function(){clearTimeout(u)};exports.unstable_shouldYield=function(){return!1};k=exports.unstable_forceFrameRate=function(){}}else{var x=window.setTimeout,y=window.clearTimeout;if(\"undefined\"!==typeof console){var z=\nwindow.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\");\"function\"!==typeof z&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills\")}var A=!1,B=null,C=-1,D=5,E=0;exports.unstable_shouldYield=function(){return exports.unstable_now()>=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","import * as React from \"react\";\nimport \"./animatedLines.scss\";\n\ninterface Props {}\ninterface State {}\n\nexport class AnimatedLines extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = {};\n }\n\n render(): JSX.Element {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from \"react\";\nimport \"./expander.scss\";\nimport { Icon } from \"../icon/icon\";\nimport { Button } from \"../form/button/button\";\nimport { CSSTransition } from \"react-transition-group\";\n\ninterface Props {\n name: string;\n header: React.ReactNode;\n subHeader?: React.ReactNode;\n children: React.ReactNode;\n headerCls?: string;\n onClick?: (name: string, expanded: boolean) => void;\n}\n\ninterface State {\n expanded: boolean;\n}\nexport class Expander extends React.Component {\n static defaultProps = {\n headerCls: \"header\"\n };\n constructor(props: Props) {\n super(props);\n this.state = {\n expanded: false\n };\n }\n handleExpanderClick = (): void => {\n const { onClick, name } = this.props;\n const { expanded } = this.state;\n this.setState({ expanded: !expanded }, () => {\n if (onClick) {\n onClick(name, expanded);\n }\n });\n };\n\n render(): React.ReactNode {\n const { header, children, headerCls, name, subHeader } = this.props;\n const { expanded } = this.state;\n const expandedCls = expanded ? \"rotate-270\" : \"rotate-45\";\n return (\n
\n
\n \n \n \n\n
{header}
\n {subHeader && !expanded && (\n
{subHeader}
\n )}\n
\n\n \n
{children}
\n \n
\n );\n }\n}\n","import React, { PropsWithChildren } from \"react\";\nimport \"./button.scss\";\n\nexport interface ButtonProps {\n name: string;\n isDisabled?: boolean;\n type: \"submit\" | \"button\" | \"reset\";\n onClick?: (e: React.MouseEvent) => void;\n onMouseDown?: (e: React.MouseEvent) => void;\n onFocus?: (e: React.FocusEvent) => void;\n classNames?: string;\n ariaLabel?: string;\n style?: React.CSSProperties;\n}\n\ninterface ButtonState {\n buttonClickStatus: boolean;\n}\n\nexport class Button extends React.Component<\n PropsWithChildren,\n ButtonState\n> {\n static defaultProps = {\n isDisabled: false,\n type: \"button\",\n classNames: \"\"\n };\n\n rootRef = React.createRef();\n\n constructor(props: ButtonProps) {\n super(props);\n this.state = {\n buttonClickStatus: false\n };\n }\n\n handleOnClick = (e: React.MouseEvent): void => {\n this.setState({ buttonClickStatus: true });\n if (this.props.onClick) {\n this.props.onClick(e);\n }\n };\n\n render(): JSX.Element {\n const { isDisabled, name, onFocus, type, style, onMouseDown } = this.props;\n const baseClasses = [];\n baseClasses.push(\"xw-button\");\n baseClasses.push(this.props.classNames);\n if (this.state.buttonClickStatus) {\n baseClasses.push(\"active\");\n }\n\n return (\n \n {this.props.children}\n \n );\n }\n}\n","import * as React from \"react\";\n\nexport interface ErrorHintProps {\n shown: boolean;\n}\n\nexport class ErrorHint extends React.Component {\n static defaultProps = {\n shown: true\n };\n\n render(): JSX.Element | undefined {\n return this.props.shown ? (\n \n {this.props.children}\n \n ) : undefined;\n }\n}\n","import React, { PropsWithChildren } from \"react\";\nimport { logger } from \"../../core/global\";\nimport { ValidationResult, isValid, Validatable } from \"./validation\";\nimport { focusFirstElement } from \"../../utils/dom\";\n\nexport function isValidForm(form: FormContextState): boolean {\n return (\n Object.keys(form.fields).every((k): boolean => {\n const fieldState = form.fields[k];\n return fieldState && fieldState.isValid;\n }) &&\n Object.keys(form.childForms).every((k): boolean => {\n return isValidForm(form.childForms[k]);\n })\n );\n}\n\n// gets an array of all fields, including those inside child forms, from a FormContext.\nexport function allFields(form: FormContextState): FieldState[] {\n let result: FieldState[] = [];\n for (const key in form.fields) {\n result.push(form.fields[key]);\n }\n for (const formName in form.childForms) {\n result = result.concat(allFields(form.childForms[formName]));\n }\n return result;\n}\n\nexport interface FormProps {\n name: string;\n classNames?: string | string[];\n // IMPORTANT: Only fired on root-level forms. Sub-forms can not submit on their\n // own (nested forms aren't real to the W3C.) Use a standard button onClick if you have to submit a sub-form only.\n onSubmit?: (\n e: React.FormEvent,\n formState: FormContextState,\n isValid: boolean\n ) => void;\n // fired whenever fields or child forms are validated, and the validation state may have changed.\n onValidated?: (isValid: boolean, form: FormContextState) => void;\n focusFirstElement?: boolean;\n ariaLabel?: string;\n}\n\nexport interface FieldState {\n name: string;\n label?: string;\n // value is here mostly for ease of debugging and could be anything. form don't care\n value?: unknown;\n validationResults: ValidationResult[];\n isValid: boolean;\n dirty: boolean;\n hint?: string;\n ref: Validatable;\n}\n\nexport interface FormContextState {\n dirty: boolean;\n valid: boolean;\n submitted: boolean;\n parent?: FormContextState;\n fields: { [name: string]: FieldState };\n childForms: { [name: string]: FormContextState };\n onValidate: (\n fieldName: string,\n value: unknown,\n result: ValidationResult[]\n ) => void;\n onChildFormChanged: (name: string, form?: FormContextState) => void;\n onFieldMount: (field: Validatable) => void;\n onFieldUnmount: (field: Validatable) => void;\n onResetDirty: (dirty?: boolean) => void;\n}\n\nexport const nullFormContext = {\n fields: {},\n childForms: {},\n onValidate: (): void => {},\n onChildFormChanged: (): void => {},\n onFieldMount: (): void => {},\n onFieldUnmount: (): void => {},\n onResetDirty: (): void => {},\n valid: false,\n dirty: false,\n submitted: false\n};\n\nexport const FormContext =\n React.createContext(nullFormContext);\n\ninterface State extends FormContextState {}\n\nexport class Form extends React.Component, State> {\n static contextType = FormContext;\n static defaultProps = {\n focusFirstElement: true\n };\n\n private formRootRef = React.createRef();\n\n constructor(props: FormProps) {\n super(props);\n this.state = {\n dirty: false,\n valid: true,\n submitted: false,\n parent: this.context,\n fields: {},\n childForms: {},\n onValidate: this.handleFieldValidate,\n onChildFormChanged: this.handleChildFormChanged,\n onFieldMount: this.handleFieldMount,\n onFieldUnmount: this.handleFieldUnmount,\n onResetDirty: this.resetDirty\n };\n }\n\n componentDidMount(): void {\n this.propagateUpdate();\n // auto-focus the first element in form\n if (this.props.focusFirstElement && this.formRootRef.current) {\n focusFirstElement(this.formRootRef.current);\n }\n }\n\n componentDidUpdate(prevProps: FormProps, prevState: State): void {\n if (this.state !== prevState) {\n this.propagateUpdate();\n }\n }\n\n componentWillUnmount(): void {\n const parentContext = this.context as FormContextState;\n if (parentContext) {\n parentContext.onChildFormChanged(this.props.name, undefined);\n }\n }\n\n handleFieldMount = (field: Validatable): void => {\n this.setState((prevState): State => {\n if (\n prevState.fields[field.props.name] &&\n prevState.fields[field.props.name].ref !== field\n ) {\n logger.warn(\n \"onFieldMount: field already mounted. Duplicate name?\",\n field.props.name\n );\n }\n prevState.fields[field.props.name] = {\n name: field.props.name,\n label: field.props.label,\n isValid: field.isValid,\n value: field.props.value,\n validationResults: field.validate(),\n ref: field,\n dirty: false\n };\n return { ...prevState, valid: prevState.valid && field.isValid };\n });\n };\n\n forceDirty = (): void => {\n this.setState({ dirty: true });\n this.propagateUpdate();\n };\n\n resetDirty = (dirty: boolean = false): void => {\n this.setState({ dirty, submitted: false });\n Object.keys(this.state.childForms).forEach((k): void => {\n this.state.childForms[k].onResetDirty(dirty);\n });\n };\n\n handleFieldUnmount = (field: Validatable): void => {\n this.setState((prevState): State => {\n delete prevState.fields[field.props.name];\n return prevState;\n });\n };\n\n handleSubmit = (e: React.FormEvent): void => {\n logger.debug(\"form \" + this.props.name + \" submit\");\n e.preventDefault();\n\n if (this.props.onSubmit) {\n this.props.onSubmit(e, this.state, this.isValid);\n }\n this.setState({\n submitted: true\n });\n };\n\n handleChildFormChanged = (\n formName: string,\n childState?: FormContextState\n ): void => {\n this.setState((prevState): State => {\n const newState = {\n ...prevState,\n childForms: { ...prevState.childForms }\n };\n if (childState === undefined) {\n delete newState.childForms[formName];\n } else {\n newState.childForms[formName] = childState;\n }\n newState.valid = isValidForm(newState);\n newState.dirty =\n newState.dirty || childState === undefined || childState.dirty;\n return newState;\n });\n };\n\n // HACK: This should never need to be called from external code. Necessary because validation only happens\n // immediately on change, before value has been updated by parent component\n // TODO: We needs to automatically revalidate AFTER value update on ValidatedInputs\n revalidate = (cb?: () => void): void => {\n this.setState((prevState): State => {\n const newState = { ...prevState };\n let allValid = true;\n // re-validate every field on this form\n Object.keys(prevState.fields).forEach((k): void => {\n const fieldRef = newState.fields[k].ref;\n if (fieldRef) {\n const validationResults = fieldRef.validate();\n const fieldValid = isValid(validationResults);\n newState.fields[k].isValid = fieldValid;\n newState.fields[k].validationResults = validationResults;\n newState.fields[k].hint = validationResults.find(\n (r): boolean => r !== undefined\n );\n allValid = allValid && fieldValid;\n }\n });\n newState.valid = allValid;\n return newState;\n }, cb);\n };\n\n get baseClasses(): string[] {\n let result = [\"xw-form\"];\n if (Array.isArray(this.props.classNames)) {\n result = result.concat(this.props.classNames);\n } else if (\n typeof this.props.classNames === \"string\" &&\n this.props.classNames !== \"\"\n ) {\n result.push(this.props.classNames as string);\n }\n if (this.state.submitted) {\n result.push(\"submitted\");\n }\n\n return result;\n }\n\n get isDirty(): boolean {\n return this.state.dirty;\n }\n\n get isValid(): boolean {\n // can not for the life of me figure out why linter thinks I'm modifying state here\n // eslint-disable-next-line react/no-access-state-in-setstate\n return isValidForm(this.state);\n }\n\n handleFieldValidate = (\n fieldName: string,\n value: unknown,\n results: ValidationResult[]\n ): void => {\n // logger.debug(\"Validate form field \" + fieldName, value, results);\n this.setState((prevState): State => {\n const newState = { ...prevState };\n\n // re-validate every field on this form\n Object.keys(prevState.fields).forEach((k): void => {\n // current changed field is stale, re-validate later\n if (k === fieldName) {\n newState.fields[k].dirty = true;\n return;\n }\n const fieldRef = newState.fields[k].ref;\n if (fieldRef) {\n const validationResults = fieldRef.validate();\n newState.fields[k].isValid = isValid(validationResults);\n newState.fields[k].validationResults = validationResults;\n newState.fields[k].hint = validationResults.find(\n (r): boolean => r !== undefined\n );\n }\n });\n\n newState.fields[fieldName] = {\n ...newState.fields[fieldName],\n value,\n isValid: results.every((r): boolean => r === undefined),\n validationResults: results,\n hint: results.find((r): boolean => r !== undefined)\n };\n newState.dirty = true;\n newState.valid = isValidForm(newState);\n return newState;\n });\n };\n\n propagateUpdate(): void {\n const parentContext = this.context as FormContextState;\n if (parentContext) {\n parentContext.onChildFormChanged(this.props.name, this.state);\n }\n if (this.props.onValidated) {\n this.props.onValidated(this.isValid, this.state);\n }\n }\n\n render(): JSX.Element {\n const { children, name, ariaLabel } = this.props;\n const hasParent = this.context && this.context !== nullFormContext;\n return (\n \n {hasParent ? (\n \n
{children}
\n \n ) : (\n \n {children}\n \n )}\n
\n );\n }\n}\n","import * as React from \"react\";\nimport { debounce } from \"../../../utils/timing\";\nimport { Icon } from \"../../icon/icon\";\nimport { stringAccessor, StringTransform } from \"../../../utils/string\";\nimport { ValidationProps } from \"../../form/validation\";\nimport { ValidatedInput } from \"../../form/validatedInput\";\nimport { ErrorHint } from \"../errorHint\";\n\nimport \"./input.scss\";\nimport { FormContext } from \"../form\";\nimport { Constants } from \"../../../core/constants\";\nimport { logger } from \"../../../core/global\";\n\nexport type TextInputType = \"text\" | \"password\" | \"email\" | \"search\";\nexport type InputModeType = \"tel\" | \"url\" | \"numeric\" | \"decimal\";\n\nexport interface InputProps extends ValidationProps {\n name: string;\n label?: string;\n type: TextInputType;\n hint?: string | StringTransform;\n disabled: boolean;\n icon?: string;\n autoComplete?: \"on\" | \"off\";\n focused?: boolean;\n onBlur?: (newVal: string, isValid?: boolean) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent) => void;\n validateOn: \"done_typing\" | \"blur\";\n classNames?: string;\n inputMode?: InputModeType;\n mask?: RegExp;\n hideHint?: boolean;\n ariaLabel?: string;\n tabIndex?: number;\n}\n\ninterface InputState {\n dirty: boolean;\n touched: boolean;\n typing: boolean;\n focused: boolean;\n}\n\nexport class Input extends ValidatedInput {\n static defaultProps = {\n autoComplete: \"off\",\n autoSize: false,\n disabled: false,\n plain: false,\n focused: false,\n type: \"text\",\n tabIndex: 0,\n value: \"\",\n validateOn: \"done_typing\",\n validators: [],\n hideHint: false\n };\n\n static contextType = FormContext;\n\n private inputRef: React.RefObject;\n\n debouncedDoneTyping = debounce(\n this.doneTyping.bind(this),\n Constants.TYPING_DELAY\n );\n\n constructor(props: InputProps) {\n super(props);\n this.inputRef = React.createRef();\n this.state = {\n dirty: false,\n touched: false,\n typing: false,\n focused: false\n };\n\n this.handleChange = this.handleChange.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n if (this.props.focused && this.inputRef.current) {\n this.inputRef.current.focus();\n }\n }\n\n get baseClasses(): string[] {\n // TODO: Some of this logic is repeated in select and textarea. Would be good to extract to a utility function\n const { classNames, validateOn } = this.props;\n const { dirty, focused, touched, typing } = this.state;\n const valid = this.isValid;\n const result = [\"xw-input-field\"];\n const required = this.isRequired;\n const requiredValid = this.isRequiredValid;\n if (classNames) {\n result.push(classNames);\n }\n result.push(valid ? \"valid\" : \"invalid\");\n if (required) {\n result.push(\"required\");\n }\n if (this.hasValue) {\n result.push(\"value\");\n }\n if (touched) {\n result.push(\"touched\");\n }\n if (typing) {\n result.push(\"typing\");\n }\n if (dirty) {\n result.push(\"dirty\");\n }\n if (focused) {\n result.push(\"focused\");\n }\n if (\n !valid &&\n requiredValid &&\n touched &&\n ((validateOn === \"done_typing\" && dirty && !typing) ||\n (validateOn === \"blur\" && !focused))\n ) {\n result.push(\"showError\");\n }\n if (!valid && required && !focused && !requiredValid) {\n result.push(\"showRequired\");\n }\n return result;\n }\n\n get isDirty(): boolean {\n return this.state.dirty;\n }\n\n get hasIcon(): boolean {\n return this.props.icon !== undefined && this.props.icon !== \"\";\n }\n\n get hasValue(): boolean {\n return this.props.value !== \"\";\n }\n\n doneTyping(): void {\n this.setState({ typing: false });\n }\n\n public focus(): boolean {\n if (this.inputRef.current) {\n this.inputRef.current.focus();\n }\n return this.inputRef.current !== undefined;\n }\n\n handleChange(e: React.FormEvent): void {\n if (this.props.mask && !this.props.mask.test(e.currentTarget.value)) {\n logger.debug(\n \"Masking input on \" + this.props.name + \", rejecting\",\n e.currentTarget.value\n );\n return;\n }\n this.setState({ typing: true, dirty: true });\n this.debouncedDoneTyping();\n this.handleUpdate(e.currentTarget.value);\n }\n\n handleBlur = (e: React.FormEvent): void => {\n this.setState({ typing: false, focused: false });\n if (this.props.onBlur) {\n this.props.onBlur(e.currentTarget.value, this.isValid);\n }\n };\n\n handleFocus = (): void => {\n this.setState({\n touched: true,\n focused: true\n });\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n render(): JSX.Element {\n const {\n disabled,\n icon,\n label,\n name,\n type,\n value,\n autoComplete,\n inputMode,\n onKeyDown,\n hideHint,\n ariaLabel,\n tabIndex\n } = this.props;\n return (\n
\n \n {label && }\n {!hideHint && (\n {stringAccessor(this.props.hint, value)}\n )}\n {!hideHint && {this.validationHint}}\n {icon && }\n {this.props.children}\n
\n );\n }\n}\n","import React from \"react\";\nimport {\n isValid,\n ValidationProps,\n Validators,\n ValidationResult,\n Validatable\n} from \"./validation\";\nimport { FormContextState, FormContext } from \"./form\";\n\nexport class ValidatedInput<\n TValue,\n TProps extends ValidationProps,\n TState = unknown\n >\n extends React.Component\n implements Validatable\n{\n static defaultProps = {\n validators: []\n };\n static contextType = FormContext;\n\n constructor(props: TProps) {\n super(props);\n this.state = {} as TState;\n }\n\n componentDidMount(): void {\n if (super.componentDidMount) {\n super.componentDidMount();\n }\n this.formContext.onFieldMount(this);\n }\n\n componentWillUnmount(): void {\n this.formContext.onFieldUnmount(this);\n }\n\n get formContext(): FormContextState {\n return this.context as FormContextState;\n }\n\n get isRequired(): boolean {\n return this.props.validators.some(\n (v): boolean => v === Validators.required\n );\n }\n\n // checks the required validator specifically, so we only use the \"required\" color when input is empty\n // also returns true if field is not required at all\n get isRequiredValid(): boolean {\n const requiredValidator = this.props.validators.find(\n (v): boolean => v === Validators.required\n );\n return (\n requiredValidator === undefined ||\n requiredValidator(this.props.value) === undefined\n );\n }\n\n get isValid(): boolean {\n return isValid(this.validate());\n }\n\n get validationHint(): string | undefined {\n const results = this.validate();\n return results.find((r): boolean => r !== undefined);\n }\n\n handleUpdate(\n newValue: TValue,\n shouldUpdateFormContext: boolean = true\n ): void {\n const validationResults = this.validate(newValue);\n const valueValid = isValid(validationResults);\n if (this.props.onChange) {\n this.props.onChange(newValue, valueValid);\n }\n\n if (shouldUpdateFormContext) {\n const formContext = this.formContext;\n if (formContext) {\n // logger.debug(\"input formContext\", formContext);\n formContext.onValidate(this.props.name, newValue, validationResults);\n }\n }\n }\n\n // if called without arguments, tells you the validation results of the current vlaue\n // Call it with the argument newVal when raising onChange, as you want to validate\n // the changed value before it is set\n validate(val: TValue = this.props.value): ValidationResult[] {\n const { validators } = this.props;\n const validationResults = validators.map(\n (validator): ValidationResult => validator(val)\n );\n\n return validationResults;\n }\n}\n","import { label, labelParam } from \"../../core/global\";\nimport moment from \"moment-timezone\";\nimport { Constants } from \"../../core/constants\";\nimport * as ipaddr from \"ip6addr\";\nimport { isProduction } from \"../../utils/env\";\n\nexport type ValidationResult = string | undefined;\nexport type ValidatorFn = (input: T) => ValidationResult;\n\nexport function isValid(results: ValidationResult[]): boolean {\n return results.length <= 0 || results.every((r): boolean => r === undefined);\n}\n\n// Bare minimum input component properties required for validation to work\nexport interface ValidationProps {\n name: string;\n label?: string;\n value: T;\n onChange?: (newVal: T, isValid: boolean) => void;\n validators: ValidatorFn[];\n}\n\n// the minimum set of things that a form needs to treat a child component as a validated field\nexport interface Validatable {\n props: { name: string; value: unknown; label?: string };\n isValid: boolean;\n validate(): ValidationResult[];\n}\n\n// Regexes used to help validators.\nexport const splitRegex: RegExp = /[ \\t\\r\\n;,]+/;\nconst allowedCSVFileExtensionRegex = /(csv)$/i;\nconst asnRegex: RegExp =\n /^([1-5]\\d{4}|[1-9]\\d{0,3}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5])(\\.([1-5]\\d{4}|[1-9]\\d{0,3}|6[0-4]\\d{3}|65[0-4]\\d{2}|655[0-2]\\d|6553[0-5]|0))?$/;\nconst ipv4Regex: RegExp =\n /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\nconst fqdnRegex =\n /(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\\.)+[a-zA-Z]{2,63}$)/;\n// Daniel's JSFiddle : http://jsfiddle.net/DanielD/8S4nq/\nconst ipV46Regex: RegExp =\n /((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\\/([0-9]|[1-2][0-9]|3[0-2]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?(\\/([0-9]|[1-9][0-9]|[1][0-2][0-8]|119|109))\\s*$))/;\n// Same Reg as above without subnet check\nconst ipRegex: RegExp =\n /((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))|(^\\s*((?=.{1,255}$)(?=.*[A-Za-z].*)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?)*)\\s*$)/;\nconst ipV46MoreSpecificRegex: RegExp =\n /((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\\/([2][3-9]|3[0-2]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?(\\/([2][3-9]|[3-9][0-9]|[1][0-2][0-8]))\\s*$))/;\nconst validPhoneNumberRegex = /^[^{}~`!@#$%^&*\":';?\\n]{8,20}$/;\nconst slackWebhookRegex = /^https:\\/\\/hooks.slack.com\\/services\\/.+\\/.+\\/.+$/;\nconst webexWebhookRegex =\n /^https:\\/\\/(api.ciscospark.com|webexapis.com)\\/v1\\/webhooks\\/incoming\\/.+$/;\nconst microsoftTeamsWebhookRegex = /^https:\\/\\/.+$/;\nconst base64Regex = /^[A-Za-z0-9+/=]+$/;\nconst numericRegex = /^[0-9]*$/;\nconst nameAsPerBERegex = /^[^{}~`!#$%^*\":';?[\\]()<>,\\\\|=\\t]{1,120}$/; // special characters not allowed in BE: \"{}~`!#$%^*\\\":';?[]()<>,\\\\|=\\t\" and max length = 120\nconst nonAllowedCharsAtStartOrEndRegex = /^[^-_+/@.&](.*[^-_+/@.&])?$/; // special characters not allowed in BE at the start or end of string: -_+/@.&\nconst hostnameIpRegex =\n /(^\\s*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\\s*$)|(^\\s*((?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|\\b-){0,61}[0-9A-Za-z])?)*\\.?)\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$)/;\n// Special case (subnet) must be >= 1 && <= 31\nconst ipv4WithSubnetForStaticRouteIp =\n /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])((\\/([1-9]|[1-2][0-9]|3[0-1])))$/;\nexport const asNameRegex = /^[0-9a-zA-Z ]{1,120}$/;\n\n/*\n * Class consisting of validation methods used across various input components.\n * */\n\nexport class Validators {\n static asnRegex = asnRegex;\n\n static validateTags = (tags?: string[]): ValidationResult => {\n if (!tags) {\n return undefined;\n }\n\n const validateArrayLength = Validators.maxArrayLength(\n Constants.MAX_TAGS_PER_ITEM,\n label.tag,\n label.tags\n )(tags);\n\n const validateItemLength = Validators.maxItemLength(\n Constants.MAX_TAG_LENGTH\n )(tags);\n\n if (validateArrayLength) {\n return validateArrayLength;\n }\n if (validateItemLength) {\n return validateItemLength;\n }\n\n return undefined;\n };\n\n static portNumber = (\n value: number | string | undefined\n ): string | undefined => {\n if (!value) {\n return undefined;\n }\n return value >= 1 && value <= 65535 ? undefined : label.invalidPortNumber;\n };\n static nonZeroInteger = (value: number | undefined): ValidationResult => {\n return value === undefined || /^([1-9]\\d*)$/.test(value.toString())\n ? undefined\n : label.nonZeroIntegerUptoTenChars;\n };\n\n static maxItemLength =\n (\n max: number\n ): ((value: string[] | string | undefined) => ValidationResult) =>\n (value: string[] | string | undefined): ValidationResult => {\n const lengthValidation = (\n strValue: string | undefined\n ): ValidationResult =>\n strValue && strValue.length > max\n ? labelParam(label.maxLength, { max })\n : undefined;\n if (Array.isArray(value)) {\n for (const v of value) {\n const result = lengthValidation(v);\n if (result) {\n return result;\n }\n }\n } else {\n return lengthValidation(value);\n }\n return undefined;\n };\n\n static minItemLength =\n (min: number): ((value: string) => string | undefined) =>\n (value: string): string | undefined => {\n return value && value !== \"\" && value.length < min\n ? labelParam(label.minLength, { min })\n : undefined;\n };\n\n static minValue =\n (\n min: number,\n hint?: string\n ): ((value: number | undefined) => string | undefined) =>\n (value: number | undefined): string | undefined => {\n return value === undefined || value >= min\n ? undefined\n : hint || labelParam(label.minValueHint, { min });\n };\n\n static maxValue =\n (\n max: number,\n hint?: string\n ): ((value: number | undefined) => string | undefined) =>\n (value: number | undefined): string | undefined => {\n return value === undefined || value <= max\n ? undefined\n : hint || labelParam(label.maxValueHint, { max });\n };\n\n static validRange =\n (\n min: number,\n max: number,\n message?: string\n ): ((value: number) => string | undefined) =>\n (value: number): string | undefined => {\n if (value && value >= min && value <= max) {\n return undefined;\n } else {\n return (\n message ||\n labelParam(label.invalidRange, {\n min: min.toLocaleString(),\n max: max.toLocaleString()\n })\n );\n }\n };\n\n static validRangeList = (\n min: number,\n max: number,\n hint?: string\n ): ((value: number[]) => ValidationResult) => {\n return (value): ValidationResult => {\n if (value === undefined || value.length <= 0) {\n return undefined;\n }\n const rangeValidator = Validators.validRange(min, max, hint);\n return value\n .map(rangeValidator)\n .find((result): boolean => result !== undefined);\n };\n };\n\n static required(value: T): ValidationResult {\n if (typeof value === \"string\") {\n return value && value.trim() !== \"\" && value !== \"NaN\"\n ? undefined\n : label.required;\n }\n if (typeof value === \"number\" && isNaN(value as number)) {\n return label.required;\n }\n if (Array.isArray(value)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (value as any[]).length > 0 ? undefined : label.required;\n }\n return value !== undefined ? undefined : label.required;\n }\n\n static number = (value: string): string | undefined => {\n return value && isNaN(Number(value)) ? label.mustBeNumber : undefined;\n };\n\n static numberRange = (\n min?: number,\n max?: number\n ): ((value: number | undefined) => boolean) => {\n return (value: number | undefined): boolean => {\n return (\n value === undefined || ((!min || value > min) && (!max || value < max))\n );\n };\n };\n\n static isWholeNumber = (value: number | string): string | undefined => {\n return value && (isNaN(Number(value)) || Number(value) % 1 !== 0)\n ? label.mustBeNumber\n : undefined;\n };\n\n static email = (value: string): ValidationResult => {\n return value &&\n !/^[A-Z0-9._%+-]{1,128}@([A-Z0-9-]{1,63})(\\.[A-Z0-9-]{1,63})+$/i.test(\n value\n )\n ? label.invalidEmail\n : undefined;\n };\n\n static alphaNumeric = (value: string): string | undefined => {\n return value && /[^a-zA-Z0-9 ]/i.test(value)\n ? undefined\n : label.onlyAlphaNumeric;\n };\n\n static ipv4Length = (value: string): string | undefined => {\n return value &&\n /^(([0-9]{1}|1[0-9]|2[0-9]|3[0-2])(,([0-9]{1}|1[0-9]|2[0-9]|3[0-2]))*)?$/i.test(\n value\n )\n ? undefined\n : label.invalidIPv4Length;\n };\n\n static ipv6Length = (value: string): string | undefined => {\n return value &&\n /^(([0-9]{1,2}|1[0-1][0-9]|12[0-8])(,([0-9]{1,2}|1[0-1][0-9]|12[0-8]))*)?$/i.test(\n value\n )\n ? undefined\n : label.invalidIPv6Length;\n };\n\n static integer(value: number | undefined): ValidationResult {\n return value !== undefined && Number.isInteger(value)\n ? undefined\n : label.invalidInteger;\n }\n\n static integerRange(\n min: number,\n max: number\n ): (value: number | undefined) => ValidationResult {\n return (value: number | undefined): ValidationResult => {\n return value === undefined ||\n (Number.isInteger(value) && value >= min && value <= max)\n ? undefined\n : labelParam(label.invalidRange, { min, max });\n };\n }\n\n static integerMaxDigits10 = (value: string): string | undefined => {\n const intRx: RegExp = /^\\d{1,10}$/;\n if (!intRx.test(value)) {\n return label.integerUptoTenChars;\n }\n return undefined;\n };\n\n static integerNonZeroMaxDigits10 = (value: string): string | undefined => {\n const intRx: RegExp = /^[0-9]*[1-9][0-9]*$/;\n if (!intRx.test(value)) {\n return label.nonZeroIntegerUptoTenChars;\n }\n return undefined;\n };\n\n static isValidRegex = (value: string): string | undefined => {\n try {\n new RegExp(value);\n } catch (e) {\n return label.invalidRegex;\n }\n return undefined;\n };\n\n static requiredFile = (value: FileList): string | undefined => {\n if (value && value.length > 0) {\n return undefined;\n } else {\n return label.required;\n }\n };\n\n static validateFileType = (\n value: FileList,\n allowedFilesRegex = allowedCSVFileExtensionRegex\n ): RegExpExecArray | null | undefined => {\n let result;\n if (value && value.length > 0 && value[0].name !== \"\") {\n const splittedValue = value[0].name.split(\".\").pop();\n result = allowedFilesRegex.exec(splittedValue || \"\");\n }\n return result;\n };\n\n static validateFileSize = (value: FileList): string | undefined => {\n if (value && value.length > 0 && value[0].size > 0) {\n const filesize = value[0].size / 1024 / 1024; // in MB\n if (filesize > 10) {\n return label.fileSizeExceeds10MB;\n }\n }\n return undefined;\n };\n\n static ipv46Address = (value: string): string | undefined => {\n if (!ipV46Regex.test(value)) {\n return label.invalidIPv4IPv6;\n }\n return undefined;\n };\n\n static acceptAgreement = (value: boolean): string | undefined => {\n return value ? undefined : label.acceptAgreement;\n };\n\n static ipV46MoreSpecific = (value: string): string | undefined => {\n if (!ipV46MoreSpecificRegex.test(value)) {\n return label.invalidIPv4IPv6;\n }\n return undefined;\n };\n\n static validateAsnOrPrefix = (value: string): string | undefined => {\n if (\n value.length > 0 &&\n !ipV46Regex.test(value) &&\n Validators.validateAsNumber(value) !== undefined\n ) {\n return label.invalidPrefixOrAsn;\n }\n return undefined;\n };\n\n static validateAsnOrPrefixOrIp = (value: string): string | undefined => {\n // is asn?\n if (Validators.validateAsNumber(value) === undefined) {\n return undefined;\n }\n // is prefix?\n if (ipV46Regex.test(value)) {\n return undefined;\n }\n // is ip?\n try {\n ipaddr.parse(value);\n } catch {\n return label.invalidAsnOrPrefixOrIP;\n }\n return undefined;\n };\n\n static validateAsnOrAsNameOrPrefixOrIp = (\n value: string\n ): string | undefined => {\n // check if value has special characters\n if (!/^[0-9a-zA-Z:./]*$/.test(value as string)) {\n return label.invalidCharacters;\n }\n // check if asn\n if (Validators.validateNumeric(value) === undefined) {\n if (Validators.validateAsNumber(value) === undefined) {\n return undefined;\n } else {\n return label.invalidASN;\n }\n } else if (asNameRegex.test(value)) {\n return undefined;\n } else {\n // check if ip\n if (Validators.ipv46Address(value) === undefined) {\n return undefined;\n } else {\n try {\n ipaddr.parse(value);\n } catch {\n return label.invalidIp;\n }\n return undefined;\n }\n }\n };\n\n static validateListItems = (\n value: string,\n validator: (row: string) => string | undefined\n ): string | undefined => {\n let errorValues: string;\n const errors: string[] = [];\n let result: string | undefined;\n\n const rows = value.split(splitRegex); // lets first split the values\n\n // validate individual values\n rows.forEach((row: string): void => {\n result = validator(row);\n if (result) {\n errors.push(row);\n }\n });\n\n if (errors.length > 0) {\n errorValues = errors.join(\", \");\n return errorValues;\n }\n return undefined;\n };\n\n static validateIPV46AddressList = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.ipv46Address\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidIPaddresses, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateEmailAddressList = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.email\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidEmail, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateIPV4List = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validIpv4\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidIPaddresses, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateIpv4StaticRouteList = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validIpv4ForStaticRoute\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidIPaddresses, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateASNs = (value: string | undefined): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validateAsNumber\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidAsns, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateBGPUpdatesASN = (val: string): string | undefined => {\n if (val === \"\") return undefined;\n if (\n Validators.validateAsNumber(val) !== undefined ||\n Validators.externalASN(val) !== undefined\n ) {\n return label.invalidASN;\n }\n return undefined;\n };\n\n static validateBGPUpdatesAsnList = (\n value: string | undefined\n ): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validateBGPUpdatesASN\n );\n\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidAsns, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validatePeerId = (val: string): string | undefined => {\n if (val === \"\") return undefined;\n const isNumber = numericRegex.test(val);\n const num = parseInt(val);\n return isNumber && num > 0 && num <= Constants.UINT32MAX\n ? undefined\n : label.invalidPeerId;\n };\n\n static validatePeerIdList = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validatePeerId\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidPeerIds, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateBGPMed = (val: string): string | undefined => {\n if (val === \"\") return undefined;\n const num = parseInt(val);\n return !isNaN(num) && num >= 0 && num <= Constants.UINT32MAX\n ? undefined\n : label.invalidMed;\n };\n\n static validateBGPMedList = (value: string): string | undefined => {\n if (!value) {\n return undefined;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validateBGPMed\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidMedList, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateNumeric(value: string): ValidationResult {\n return value === \"\" || (numericRegex.test(value) && !isNaN(Number(value)))\n ? undefined\n : label.invalidNumber;\n }\n\n // Used by both asn as Number input or textarea field\n static validateAsNumber = (\n value: number | string | string[] | undefined\n ): ValidationResult => {\n if (!value) {\n return undefined;\n }\n\n const error = label.invalidASN;\n if (Array.isArray(value)) {\n return value\n .map((v): ValidationResult => Validators.validateAsNumber(v))\n .find((v): boolean => typeof v === \"string\");\n }\n let newValue = value;\n if (typeof value === \"string\") {\n const result =\n Validators.number(value) || Validators.validateNumeric(value);\n if (value === \"\" || !result) {\n newValue = value;\n } else {\n return error;\n }\n }\n\n if (!!Validators.isWholeNumber(newValue as number)) {\n return error;\n }\n\n if (newValue <= 0 || newValue >= Constants.ASN_MAX) {\n return error;\n }\n return undefined;\n };\n\n static validatePartialPrefix = (value: string): string | undefined => {\n if (/[^0-9a-fA-F:./]/.test(value)) {\n return label.invalidPrefix;\n }\n return undefined;\n };\n\n static externalASN(value: string | number): ValidationResult {\n const valueNumber = typeof value === \"string\" ? parseInt(value) : value;\n if (valueNumber < 0) {\n return label.invalidPositiveNumber;\n } else if (valueNumber === 0) {\n return label.reservedForPrivateUse;\n } else if (valueNumber === 23456) {\n return label.reservedForASPoolTransition;\n } else if (valueNumber >= 64496 && valueNumber <= 64511) {\n return label.reservedForDocumentation;\n } else if (valueNumber >= 64512 && valueNumber <= 65535) {\n return label.reservedForPrivateUse;\n } else if (valueNumber >= 65536 && valueNumber <= 65551) {\n return label.reservedForDocumentation;\n } else if (valueNumber >= 4200000000 && valueNumber <= 4294967295) {\n return label.reservedForPrivateUse;\n }\n return undefined;\n }\n\n static dateGreaterThanToday = (\n value: number | undefined\n ): ValidationResult => {\n if (!value) {\n return undefined;\n }\n const tomorrowsDate = +moment().add(1, \"day\").startOf(\"day\");\n if (value < tomorrowsDate) {\n return label.dateGreaterThanToday;\n }\n return undefined;\n };\n\n static dateGreaterThanEqualToday = (\n value: number | undefined\n ): ValidationResult => {\n if (!value) {\n return undefined;\n }\n const todaysDate = +moment().startOf(\"day\");\n if (value < todaysDate) {\n return label.dateLessthanTodayWarning;\n }\n return undefined;\n };\n\n static validateRoaAsnsString = (value: string): string | undefined => {\n if (value === \"\") return undefined;\n const allowedChars = /^[0-9]+( [0-9]+)*$/;\n if (!allowedChars.test(value)) {\n return label.roaAsnFilterErrorMsg;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n value,\n Validators.validateAsNumber\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidAsns, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n\n static validateAsPathString = (asPath: string): string | undefined => {\n if (asPath === \"\") return undefined;\n const allowedChars = /^[0-9]+( [0-9]+)*$/;\n if (!allowedChars.test(asPath)) {\n return label.asPathFilterErrorMsg;\n }\n\n const errorListValues: string | undefined = Validators.validateListItems(\n asPath,\n Validators.validateAsNumber\n );\n let result = undefined;\n if (errorListValues) {\n result = labelParam(label.invalidAsns, {\n errorListValues: errorListValues\n });\n }\n return result;\n };\n static validateAsPath = (asPathList: string[]): string | undefined => {\n if (!asPathList) {\n return undefined;\n }\n\n let result: string | undefined;\n let errorValues: string;\n const errors: string[] = [];\n for (const paths of asPathList) {\n const asns: string[] = paths.split(splitRegex);\n // validate individual values\n for (const asn of asns) {\n if (asn) {\n result = Validators.integerMaxDigits10(asn);\n if (result) {\n errors.push(asn);\n }\n }\n }\n }\n\n if (errors.length > 0) {\n errorValues = errors.join(\", \");\n return label.invalidASPaths + errorValues;\n }\n return undefined;\n };\n\n static positiveOrZeroNumber = (val: number | undefined): ValidationResult => {\n if (val === undefined || val >= 0) {\n return undefined;\n }\n return label.invalidPositiveNumber;\n };\n\n static numberRangeList = (\n min: number,\n max: number,\n hint: string\n ): ((val: string) => string | undefined) => {\n return (val: string): string | undefined => {\n if (val === \"\") {\n return undefined;\n }\n try {\n return !val\n .split(\",\")\n .map((n): number => parseInt(n))\n .some((n): boolean => isNaN(n) || n < min || n > max)\n ? undefined\n : hint;\n } catch {\n return hint;\n }\n };\n };\n\n static validCountryCode(val: string): ValidationResult {\n if (val === \"\") return undefined;\n const num = parseInt(val);\n return !isNaN(num) && num >= 1 && num <= 1000\n ? undefined\n : label.invalidCountryCode;\n }\n\n static validPhoneNumber(val: string): ValidationResult {\n if (val === \"\") return undefined;\n return validPhoneNumberRegex.test(val) ? undefined : label.invalidPhone;\n }\n\n static validSlackWebhook(val: string): ValidationResult {\n return val === \"\" || slackWebhookRegex.test(val)\n ? undefined\n : label.invalidSlackWebhook;\n }\n\n static validWebexWebhook(val: string): ValidationResult {\n return val === \"\" || webexWebhookRegex.test(val)\n ? undefined\n : label.invalidWebexWebhook;\n }\n\n static validMicrosoftTeamsWebhook(val: string): ValidationResult {\n return val === \"\" || microsoftTeamsWebhookRegex.test(val)\n ? undefined\n : label.invalidMicrosoftTeamsWebhook;\n }\n\n static validFqdnOrIp(val: string): ValidationResult {\n return val === \"\" ||\n ipv4Regex.test(val) ||\n fqdnRegex.test(val) ||\n (!isProduction() && val === \"localhost\")\n ? undefined\n : label.invalidIpOrDomain;\n }\n\n static validIpv4(val: string): ValidationResult {\n return val === \"\" || ipv4Regex.test(val) ? undefined : label.invalidIp;\n }\n\n static validIpv4ForStaticRoute(val: string): ValidationResult {\n return val === \"\" || ipv4WithSubnetForStaticRouteIp.test(val)\n ? undefined\n : label.invalidIp;\n }\n\n static validIp(val: string): ValidationResult {\n return val === \"\" || ipRegex.test(val) ? undefined : label.invalidIp;\n }\n\n static validS3Id(val: string): ValidationResult {\n return val === \"\" ||\n val === \"REMOVED_AccessKeyId\" ||\n (val.length >= 16 && val.length <= 128)\n ? undefined\n : label.invalidS3Id;\n }\n\n // A basic check that only valid base64 characters exist on the string.\n // Doesn't garuantee that it decodes to anything meaningful!\n static validS3Secret(val: string): ValidationResult {\n return val === \"\" ||\n val === \"REMOVED_SecretAccessKey\" ||\n base64Regex.test(val)\n ? undefined\n : label.invalidS3Secret;\n }\n\n static validNotesLength(value: string): string | undefined {\n return value && value.length > 2000\n ? labelParam(label.notesMaxLength, { max: 2000 })\n : undefined;\n }\n\n static validRegex(\n tester: RegExp,\n hint?: string\n ): (value: string) => ValidationResult {\n return (value): ValidationResult => {\n return !value || value === \"\" || tester.test(value)\n ? undefined\n : hint || label.invalidCharacters;\n };\n }\n\n static validNameAsPerBE(val: string): ValidationResult {\n return val === \"\" || nameAsPerBERegex.test(val)\n ? undefined\n : label.invalidName;\n }\n\n static validateName(value: string): ValidationResult {\n const errors: string[] = [];\n if (value === \"\") {\n return undefined;\n }\n if (value.length > 120 || value.length < 3) {\n return label.invalidNameLength;\n }\n if (!nonAllowedCharsAtStartOrEndRegex.test(value)) {\n return label.invalidCharsAtStartOrEnd;\n }\n const characters = value.split(\"\");\n // validate each character\n characters.forEach((char: string): void => {\n if (Validators.validNameAsPerBE(char)) {\n errors.push(char);\n }\n });\n\n if (errors.length) {\n return labelParam(label.invalidName, {\n errorListValues: errors.join(\" \")\n });\n }\n return undefined;\n }\n\n static validHostnameIp(value: string): ValidationResult {\n return value === \"\" || hostnameIpRegex.test(value)\n ? undefined\n : label.invalidHostname;\n }\n\n static maxArrayLength(\n maxLen: number,\n itemLabel: string = label.item,\n itemsLabel: string = label.items\n ): (value: unknown[] | unknown | undefined) => ValidationResult {\n return (value: unknown[] | unknown | undefined): ValidationResult => {\n // accepting a non-array type is just for compatability with select input\n // passing a non-array here is considered a validation error (and shouldn't happen in live code)\n if (value && !Array.isArray(value)) {\n return label.validArray;\n }\n return Array.isArray(value) && value.length > maxLen\n ? labelParam(label.validMaxArrayLength, {\n maxLen,\n items: value.length > 1 ? itemsLabel : itemLabel\n })\n : undefined;\n };\n }\n\n static notString(cantBe: string): (value: string) => ValidationResult {\n return (value: string): ValidationResult => {\n if (cantBe === value) {\n return labelParam(label.cantBeFmt, { value });\n }\n return undefined;\n };\n }\n\n static validateTelemetryPort(value: number | undefined): ValidationResult {\n if (value === undefined) {\n return undefined;\n }\n return value >= 1024 && value <= 65535\n ? undefined\n : label.invalidTelemetryPort;\n }\n\n static prefix(value: string | undefined): ValidationResult {\n if (!value || value.length === 0) {\n return undefined;\n }\n return ipV46Regex.test(value) ? undefined : label.invalidPrefix;\n }\n\n static validateROAMaxLength(value: string): string | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (value && isNaN(Number(value))) {\n return label.mustBeNumber;\n }\n return !isNaN(Number(value)) && Number(value) >= 1 && Number(value) <= 128\n ? undefined\n : label.invalidROAMaxLength;\n }\n}\n","import React from \"react\";\nimport { IconSize } from \"./icon\";\n\nexport interface SVGIconProps {\n name: React.ReactElement;\n classNames?: string;\n size?: IconSize;\n}\n\nexport class SVGIcon extends React.Component {\n static readonly defaultProps = {\n size: \"normal\"\n };\n\n get classes(): string[] {\n let classes = [\"xw-icon\"];\n if (this.props.size) {\n classes.push(this.props.size);\n }\n if (this.props.classNames) {\n const baseClasses = this.props.classNames.split(\" \");\n classes = classes.concat(baseClasses);\n }\n return classes;\n }\n\n renderClone = (): React.ReactNode => {\n const element = this.props.name;\n return (\n \n );\n };\n\n render(): React.ReactNode {\n return this.renderClone();\n }\n}\n","import React, { useEffect, useRef, useState } from \"react\";\nimport \"./icon.scss\";\nimport { UiTheme } from \"generated-proto-files/auth_user_pb\";\nimport { logger } from \"../../core/global\";\n\nexport type IconSize = \"large\" | \"medium-large\" | \"normal\" | \"small\";\n\n// these values should match width/heights in icon.scss\nexport const ICON_SIZE_LARGE = 20;\nexport const ICON_SIZE_MEDIUM_LARGE = 18;\nexport const ICON_SIZE_NORMAL = 16;\nexport const ICON_SIZE_SMALL = 12;\n\nexport interface IconProps {\n name: string;\n classNames?: string;\n size?: IconSize;\n}\n\nexport const themeName = (): string => {\n const theme = window.xw.preferences?.getTheme();\n switch (theme) {\n case UiTheme.DARK:\n return \"dark\";\n case UiTheme.LIGHT:\n return \"light\";\n case UiTheme.HIGH_CONTRAST:\n return \"high-contrast\";\n default:\n return \"dark\";\n }\n};\n\nexport interface IconProps {\n name: string;\n classNames?: string;\n size?: IconSize;\n}\n\nconst classNames = (iconProps: IconProps): string[] => {\n let classes = [\"xw-icon\"];\n if (iconProps.size) {\n classes.push(iconProps.size);\n }\n if (iconProps.classNames) {\n const baseClasses = iconProps.classNames.split(\" \");\n classes = classes.concat(baseClasses);\n }\n return classes;\n};\n\nexport const Icon = (iconProps: IconProps): JSX.Element | null => {\n const ImportedIconRef = useRef(null);\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(true);\n const importIcon = async () => {\n try {\n ImportedIconRef.current = (\n await import(`../../assets/icons/${iconProps.name}.svg`)\n ).default;\n } catch (err) {\n logger.warn(\"icon not loaded\", err);\n } finally {\n setLoading(false);\n }\n };\n importIcon();\n return () => {\n setLoading(false);\n };\n }, [iconProps.name]);\n\n if (!loading && ImportedIconRef.current) {\n const ImportedIcon = ImportedIconRef.current;\n return (\n //@ts-ignore\n \n );\n }\n\n return null;\n};\n","import \"./pageLoader.scss\";\n\nimport * as React from \"react\";\nimport { ProcessingLoader } from \"./processingLoader\";\nimport { label } from \"../../core/global\";\n\ninterface Props {\n text: string;\n delay: number; // miliseconds\n}\n\ninterface State {\n show: boolean;\n}\n\nexport class PageLoader extends React.Component {\n private delay?: NodeJS.Timeout;\n static defaultProps = {\n text: label.loading,\n delay: 150\n };\n\n constructor(props: Props) {\n super(props);\n this.state = {\n show: false\n };\n\n this.delay = setTimeout((): void => {\n this.setState({ show: true });\n }, this.props.delay);\n }\n\n componentWillUnmount(): void {\n if (this.delay) {\n clearTimeout(this.delay);\n }\n }\n\n render(): JSX.Element {\n return (\n
\n {this.state.show && (\n
\n \n
{this.props.text}
\n
\n )}\n
\n );\n }\n}\n","import * as React from \"react\";\nimport \"./processingLoader.scss\";\n\nexport class ProcessingLoader extends React.Component {\n render(): JSX.Element {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n }\n}\n","import React, { PropsWithChildren } from \"react\";\nimport \"./pageSection.scss\";\n\nexport interface PageSectionProps {\n classNames?: string;\n title?: string | React.ReactNode;\n actions?: React.ReactNode;\n id?: string;\n showSeparator?: boolean;\n}\nexport class PageSection extends React.Component<\n PropsWithChildren\n> {\n render(): JSX.Element {\n const { actions, classNames, children, id, title, showSeparator } =\n this.props;\n return (\n \n {(title || actions || showSeparator) && (\n
\n {title &&
{title}
}\n
\n {actions &&
{actions}
}\n
\n )}\n
{children}
\n \n );\n }\n}\n","import * as React from \"react\";\nimport { ToastMessage, ToastType } from \"../../services/toastService\";\nimport { label } from \"../../core/global\";\nimport { Constants } from \"../../core/constants\";\n\nimport \"./toast.scss\";\nimport { Icon } from \"../icon/icon\";\n\nconst typeMap = new Map();\ntypeMap.set(\"info\", label.component.info);\ntypeMap.set(\"success\", label.component.success);\ntypeMap.set(\"warning\", label.component.warning);\ntypeMap.set(\"error\", label.component.error);\n\nexport interface ToastProps {\n toast: ToastMessage;\n onClose: () => void;\n}\n\nexport class Toast extends React.Component {\n private barSpentRef: React.RefObject;\n private closeTimeout?: NodeJS.Timeout;\n\n constructor(props: ToastProps) {\n super(props);\n this.barSpentRef = React.createRef();\n }\n\n get closeable(): boolean {\n // default to closeable\n return this.props.toast.closeable === undefined\n ? true\n : this.props.toast.closeable;\n }\n get duration(): number {\n return this.props.toast.duration !== undefined\n ? this.props.toast.duration\n : Constants.TOAST_DURATION_DEFAULT;\n }\n\n componentDidMount(): void {\n if (this.barSpentRef.current && this.duration > 0) {\n // Close after specified duration\n this.closeTimeout = setTimeout((): void => {\n this.closeTimeout = undefined;\n this.props.onClose();\n }, this.duration);\n\n // CSP forces this to be programmatic\n if (this.barSpentRef.current) {\n this.barSpentRef.current.style.animationDuration = this.duration + \"ms\";\n }\n }\n }\n\n componentWillUnmount(): void {\n if (this.closeTimeout) {\n clearTimeout(this.closeTimeout);\n }\n }\n\n handleCloseClick = (): void => {\n this.closeTimeout = undefined;\n this.props.onClose();\n };\n\n handleKeyDown = (e: React.KeyboardEvent): void => {\n if (e.key === \" \" || e.key === \"Enter\" || e.key === \"Escape\") {\n this.handleCloseClick();\n e.stopPropagation();\n }\n };\n\n render(): JSX.Element {\n const { toast } = this.props;\n const duration = toast.duration || 5000;\n const title = toast.title || typeMap.get(toast.type) || undefined;\n const ariaRole =\n toast.type === \"error\" || toast.type === \"warning\" ? \"alert\" : \"status\";\n return (\n \n {title &&
{title}
}\n
{toast.message}
\n {this.closeable && (\n \n \n \n )}\n
\n {duration > 0 &&
}\n
\n
\n );\n }\n}\n","import * as React from \"react\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport * as toastService from \"../../services/toastService\";\nimport { Constants } from \"../../core/constants\";\nimport logger from \"loglevel\";\n\nimport \"./toaster.scss\";\nimport { Toast } from \"./toast\";\nimport uuidv4 from \"../../utils/uuid\";\nimport ReactDOM from \"react-dom\";\nimport { EmptyProps } from \"../../_types/emptyUtils\";\n\ninterface ToastMessageWithId extends toastService.ToastMessage {\n id: string;\n}\n\ninterface State {\n currentToasts: ToastMessageWithId[];\n}\n\nexport class Toaster extends React.Component {\n private toasterRoot = document.querySelector(\"#toaster\") as Element;\n\n constructor(props: EmptyProps) {\n super(props);\n this.state = {\n currentToasts: []\n };\n }\n\n componentDidMount(): void {\n toastService.events.on(toastService.QUEUE_EVENT, this.handleToastQueued);\n }\n\n componentWillUnmount(): void {\n toastService.events.off(toastService.QUEUE_EVENT, this.handleToastQueued);\n }\n\n closeToast(toastId: string): void {\n logger.debug(\"closing toast \" + toastId);\n this.setState((prevState): State => {\n return {\n currentToasts: prevState.currentToasts.filter(\n (toast): boolean => toast.id !== toastId\n )\n };\n });\n }\n\n handleCloseOf(toastId: string): () => void {\n return (): void => {\n this.closeToast(toastId);\n };\n }\n\n handleToastQueued = (): void => {\n this.updateFromQueue();\n };\n\n updateFromQueue = (): void => {\n if (\n this.state.currentToasts.length < Constants.TOAST_MAX &&\n toastService.queueLength() > 0\n ) {\n const newToast = {\n id: uuidv4(),\n ...toastService.dequeue()\n };\n\n // Do not show messages that are already being shown\n if (\n this.state.currentToasts.some((msg: ToastMessageWithId): boolean => {\n return msg.message === newToast.message;\n })\n ) {\n return;\n }\n\n this.setState((prevState): State => {\n return {\n currentToasts: prevState.currentToasts.concat(newToast)\n };\n });\n }\n };\n\n componentDidUpdate(): void {\n // toasts may have been removed, so check if we should pop from the queue again\n this.updateFromQueue();\n }\n\n render(): JSX.Element {\n const { currentToasts } = this.state;\n /* eslint-disable react/forbid-component-props */\n return ReactDOM.createPortal(\n \n {currentToasts.map(\n (toast): JSX.Element => (\n \n \n \n )\n )}\n ,\n this.toasterRoot\n );\n }\n}\n","import { EventEmitter } from \"eventemitter3\";\nimport { Constants } from \"../constants\";\n\nexport const events = new EventEmitter();\n\nexport default class PendingRequests {\n private activeRequest: Map;\n private count: number;\n\n constructor() {\n this.activeRequest = new Map();\n this.count = 0;\n }\n\n isLoading(): boolean {\n return !!this.count;\n }\n\n has(dataKey: string): boolean {\n // nulling out deleted values should be more performant, so need to check value instead of has\n return !!this.activeRequest.get(dataKey);\n }\n\n // TODO: this could double count statuses that already exist...\n setPending(dataKey: string): void {\n this.activeRequest.set(dataKey, true);\n // enables sidebar\n this.count++;\n events.emit(Constants.EVENT_REQUEST_START, this.count);\n }\n\n setDone(dataKey: string): void {\n this.activeRequest.set(dataKey, false);\n this.count--;\n events.emit(Constants.EVENT_REQUEST_END, this.count);\n }\n}\n","// Does this need to be a class? Perhaps not. Optimize later\n\nimport { grpc } from \"grpc-web-client\";\nimport { ApiError } from \"./apiService\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype callbackType = (data: any) => void;\ntype onErrorType = (err: ApiError) => void;\n\nexport class Subscriber {\n id: string;\n onUpdate: callbackType;\n onError: onErrorType;\n\n constructor(id: string, onUpdate: callbackType, onError: onErrorType) {\n this.id = id;\n this.onUpdate = onUpdate;\n this.onError = onError;\n }\n}\n\nexport class Subscription {\n subscribers: Map;\n dataKey: string;\n requestObject?: grpc.ProtobufMessage;\n service?: grpc.UnaryMethodDefinition<\n grpc.ProtobufMessage,\n grpc.ProtobufMessage\n >;\n\n constructor(\n dataKey: string,\n service?: grpc.UnaryMethodDefinition<\n grpc.ProtobufMessage,\n grpc.ProtobufMessage\n >,\n requestObject?: grpc.ProtobufMessage\n ) {\n this.dataKey = dataKey;\n this.requestObject = requestObject;\n this.service = service;\n this.subscribers = new Map();\n }\n\n add(subscriberId: string, subscriber: Subscriber): void {\n this.subscribers.set(subscriberId, subscriber);\n }\n}\n\nexport default class Subscriptions {\n // dataKey -> map of listeners\n private subscriptions: Map;\n\n constructor() {\n this.subscriptions = new Map();\n }\n\n // will only subscribe once per dataset. yay\n public subscribe<\n TRequest extends grpc.ProtobufMessage,\n TResponse extends grpc.ProtobufMessage,\n TService extends grpc.UnaryMethodDefinition\n >(\n dataKey: string,\n subscriberId: string,\n callback: callbackType,\n onError: onErrorType,\n service?: TService,\n requestObject?: TRequest\n ): void {\n if (!this.subscriptions.has(dataKey)) {\n this.subscriptions.set(\n dataKey,\n new Subscription(dataKey, service, requestObject)\n );\n }\n const subscription = this.subscriptions.get(dataKey);\n if (subscription) {\n const subscriber = new Subscriber(subscriberId, callback, onError);\n // note that there is nothing checking if the subscriber already exists in the array\n subscription.add(subscriberId, subscriber);\n }\n return;\n }\n\n getSubscriptions(): Subscription[] {\n return [...this.subscriptions.values()];\n }\n\n getSubscribers(dataKey: string): Subscriber[] {\n const subscription = this.subscriptions.get(dataKey);\n return subscription ? [...subscription.subscribers.values()] : [];\n }\n\n public unsubscribeAll(subscriberId: string): number {\n let killedSubscriptionCount = 0;\n this.subscriptions.forEach((subscription): void => {\n // adds to the count only if a record was actually deleted\n killedSubscriptionCount += +subscription.subscribers.delete(subscriberId);\n if (subscription.subscribers.size === 0) {\n this.subscriptions.delete(subscription.dataKey);\n }\n });\n return killedSubscriptionCount;\n }\n\n public unsubscribe(dataKey: string, subscriberId: string): boolean {\n const subscription = this.subscriptions.get(dataKey);\n if (subscription) {\n subscription.subscribers.delete(subscriberId);\n if (subscription.subscribers.size === 0) {\n this.subscriptions.delete(dataKey);\n }\n }\n return false;\n }\n}\n","export interface CachePageType {\n key: string;\n created: number;\n lastAccessed: number;\n lastUpdated: number;\n content: unknown;\n}\n\nexport default class Cache {\n private pages: Map;\n private maxSize: number;\n constructor() {\n this.pages = new Map();\n this.maxSize = 1000;\n }\n\n public clear(): void {\n this.pages = new Map();\n return;\n }\n\n public getPage(key: string): CachePageType | undefined {\n const page = this.pages.get(key);\n if (page) {\n page.lastAccessed = Date.now();\n return page;\n }\n return undefined;\n }\n\n public getContent(key: string): unknown | undefined {\n const page = this.getPage(key);\n if (page) {\n return page.content;\n }\n return undefined;\n }\n\n private findLRU(): CachePageType | undefined {\n let lruPage = undefined;\n let lruMs = Number.MAX_SAFE_INTEGER;\n this.pages.forEach((page: CachePageType): void => {\n if (page.lastAccessed < lruMs) {\n lruPage = page;\n lruMs = page.lastAccessed;\n }\n });\n return lruPage;\n }\n\n public setContent(key: string, content: unknown): void {\n let page = this.pages.get(key);\n if (!page) {\n page = {\n key: key,\n created: Date.now(),\n lastAccessed: Date.now(),\n lastUpdated: Date.now(),\n content: content\n };\n this.pages.set(key, page);\n if (this.pages.size > this.maxSize) {\n const lru = this.findLRU();\n if (lru) {\n // could be worthwhile to set to null instead\n // this is probably fine\n this.pages.delete(lru.key);\n }\n }\n } else {\n page.key = key;\n page.lastAccessed = Date.now();\n page.lastUpdated = Date.now();\n page.content = content;\n this.pages.set(key, page);\n }\n return;\n }\n\n /* eslint-disable no-console */\n print(): void {\n if (!this.pages.size) {\n console.log(\"Cache empty\");\n } else {\n console.clear();\n console.log(\"Cache pages (\" + this.pages.size + \"):\");\n\n const printTime = (ts: number): void => {\n return console.log(\"\\t\" + new Date(ts) + \" - \" + ts);\n };\n\n [...this.pages.values()].forEach((page): void => {\n console.log(\"###\");\n console.log(\"key:\");\n console.log(\"\\t\" + page.key);\n\n console.log(\"created:\");\n console.log(\"\\t\" + printTime(page.created));\n\n console.log(\"lastAccessed:\");\n console.log(\"\\t\" + printTime(page.lastAccessed));\n\n console.log(\"lastUpdated:\");\n console.log(\"\\t\" + printTime(page.lastUpdated));\n\n console.log(\"content:\");\n // print grpc objects correctly\n // @ts-ignore\n if (page.content.toObject) {\n // @ts-ignore\n console.log(page.content.toObject());\n } else {\n console.log(page.content);\n }\n });\n }\n }\n /* eslint-enable no-console*/\n}\n","import { logger } from \"../global\";\n\n//\n\ntype taskType = () => void;\n\nclass Schedule {\n private task: taskType;\n private cadences: Map; // uuid -> interval\n private currentCadence: number | undefined; // lowest cadence\n private lastExecution: number | undefined;\n private nextExecution: number | undefined;\n private timeout: number | undefined;\n\n constructor(task: taskType) {\n this.task = task;\n this.cadences = new Map();\n this.currentCadence = undefined;\n this.lastExecution = undefined;\n this.nextExecution = undefined;\n this.timeout = undefined;\n }\n\n public addCadence(uuid: string, cadence: number): void {\n const currentCadence = this.currentCadence;\n\n this.cadences.set(uuid, cadence);\n // only recalculate if something changed (mostly it won't)\n if (currentCadence === undefined || cadence < currentCadence) {\n this.recalculateNextExecution();\n }\n }\n\n public removeCadence(uuid: string): void {\n this.cadences.delete(uuid);\n this.recalculateNextExecution();\n }\n\n private recalculateNextExecution = (): void => {\n const lowestCadence = this.getLowestCadence();\n if (lowestCadence === undefined) {\n this.nextExecution = undefined;\n this.currentCadence = undefined;\n clearTimeout(this.timeout);\n return;\n }\n\n if (this.lastExecution === undefined) {\n logger.debug(\"scheduler - new schedule, executing\");\n this.executeTask();\n return;\n }\n\n const nextExec = this.lastExecution + lowestCadence;\n\n if (!this.nextExecution || nextExec !== this.nextExecution) {\n this.nextExecution = nextExec;\n clearTimeout(this.timeout);\n logger.debug(\n \"scheduler - scheduling next execution: \" +\n new Date(nextExec).toLocaleTimeString()\n );\n // timeout functions are really weird with TS\n this.timeout = setTimeout(\n this.executeTask,\n this.getOffset(nextExec)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ) as any;\n }\n };\n\n private executeTask = (): void => {\n if (!document.hidden) {\n this.task();\n } else {\n logger.debug(\"scheduler - skipping execution, rescheduling\");\n }\n this.lastExecution = Date.now();\n this.recalculateNextExecution();\n };\n\n private getLowestCadence(): number | undefined {\n let lowestCadence: number | undefined = undefined;\n this.cadences.forEach((cadence: number): void => {\n if (lowestCadence === undefined || cadence < lowestCadence) {\n lowestCadence = cadence;\n }\n });\n return lowestCadence;\n }\n\n // in ms\n private getOffset(nextExecution: number): number {\n return Math.max(0, nextExecution - Date.now());\n }\n}\n\nexport default class Scheduler {\n private schedules: Map;\n\n constructor() {\n this.schedules = new Map();\n }\n\n public addSchedule(\n dataKey: string,\n uuid: string,\n interval: number,\n task: taskType\n ): void {\n let schedule = this.schedules.get(dataKey);\n if (!schedule) {\n schedule = new Schedule(task);\n this.schedules.set(dataKey, schedule);\n }\n if (schedule) {\n schedule.addCadence(uuid, interval);\n }\n }\n\n public removeSchedule(dataKey: string, uuid: string): void {\n const schedule = this.schedules.get(dataKey);\n if (schedule) {\n schedule.removeCadence(uuid);\n }\n }\n\n public removeAllSchedule(uuid: string): void {\n this.schedules.forEach((schedule): void => {\n schedule.removeCadence(uuid);\n });\n }\n}\n","import { BreadcrumbNode } from \"../header/breadcrumbs\";\n\n// shared application state\nexport interface GlobalStateType {\n breadcrumbs: BreadcrumbNode[];\n title?: string;\n helpLink?: string;\n example?: string;\n // Processing modal related states and callback\n modalProcessingStateMsg?: string | JSX.Element;\n modalHeaderMsg?: string | JSX.Element;\n modalSuccessStateMsg?: string | JSX.Element;\n modalFailureStateMsg?: string | JSX.Element;\n handleModalFailureAction?: () => void; // do something when modal Failure Action button is clicked.\n handleModalSuccessAction?: () => void; // do something when modal Success Action button is clicked.\n}\n\nexport const initialGlobalState = {\n breadcrumbs: [],\n modalProcessingStateMsg: undefined,\n modalSuccessStateMsg: undefined,\n modalFailureStateMsg: undefined,\n handleModalFailureAction: undefined,\n handleModalSuccessAction: undefined\n};\n","import PendingRequests from \"./pendingRequests\";\nimport Subscriptions from \"./subscriptions\";\nimport Cache from \"./cache\";\nimport Scheduler from \"./scheduler\";\nimport { GlobalStateType, initialGlobalState } from \"./globalState\";\nimport { Environment, getEnvName, isProduction } from \"../../utils/env\";\nimport logger from \"loglevel\";\nimport { currentTimeRange, StandardTimeRangeOption } from \"../../utils/date\";\nimport moment from \"moment-timezone\";\nimport { TierInfo } from \"../../pages/settings/tier/commonTierRules\";\nimport { UserDetails } from \"generated-proto-files/auth_user_pb\";\nimport { UserPreferences } from \"generated-proto-files/glokta_pb\";\nimport { Constants } from \"../constants\";\nimport { MarketplaceResponse } from \"generated-proto-files/baku_pb\";\n\n// This is suppose to be a wrapper of all things, right now it just serves as a loose window object\nexport default class AppState {\n showDocs: boolean;\n pendingRequests: PendingRequests;\n subscriptions: Subscriptions;\n cache: Cache;\n scheduler: Scheduler;\n globalState: GlobalStateType;\n permissions: {\n trust: boolean;\n flow: boolean;\n };\n userInfo?: UserDetails;\n tierInfo?: TierInfo;\n preferences?: UserPreferences;\n awsMarketPlace?: MarketplaceResponse;\n displayBits: boolean;\n chartDebug: boolean;\n morePrefixPauseOptions: boolean;\n environmentConfig?: Environment;\n\n constructor() {\n this.pendingRequests = new PendingRequests();\n this.subscriptions = new Subscriptions();\n this.cache = new Cache();\n this.scheduler = new Scheduler();\n this.permissions = {\n trust: false, // this value gets set in home.tsx before app load, default to false for safety\n flow: false // this value gets set in home.tsx before app load, default to false for safety\n };\n\n this.displayBits =\n localStorage.getItem(\"displayBits\") !== null\n ? localStorage.getItem(\"displayBits\") === \"true\"\n : true;\n\n this.chartDebug =\n localStorage.getItem(\"chartDebug\") !== null\n ? localStorage.getItem(\"chartDebug\") === \"true\"\n : !isProduction();\n this.showDocs = false;\n this.globalState = initialGlobalState;\n this.morePrefixPauseOptions =\n localStorage.getItem(\"morePrefixPauseOptions\") === \"true\";\n }\n\n // Trust\n setForceShowTrust = (): void => {\n logger.error(\n \"This feature has been deprecated. Permissions are now being served via ramius.auth_user.GetFeatures\"\n );\n };\n\n getShowTrust = (): boolean => {\n return this.permissions.trust;\n };\n\n // Flow\n setForceShowFlow = (): void => {\n logger.error(\n \"This feature has been deprecated. Permissions are now being served via ramius.auth_user.GetFeatures\"\n );\n };\n\n // default to API value unless local override is set!\n getShowFlow = (): boolean => {\n return this.permissions.flow;\n };\n\n getAWSMarketPlaceAccess = (): boolean => {\n return !!(\n this.awsMarketPlace?.getEnabled() &&\n this.awsMarketPlace?.getIsAuthorized() &&\n !!this.awsMarketPlace?.getOffersList().length\n );\n };\n\n // Remote backend\n // override default (dev watch only)\n setForceEnableRemoteBackend = (flag: boolean): void => {\n localStorage.setItem(\"enableRemoteBackend\", \"\" + flag);\n };\n\n setForceMaintenance = (flag: boolean): void => {\n localStorage.setItem(\"forceMaintenance\", \"\" + flag);\n };\n\n getForceMaintenance = (): boolean | undefined => {\n const localSetting = localStorage.getItem(\"forceMaintenance\");\n if (localSetting === \"true\") {\n return true;\n } else if (localSetting === \"false\") {\n return false;\n } else {\n return undefined;\n }\n };\n\n setDisplayBits(bits: boolean): void {\n localStorage.setItem(\"displayBits\", bits ? \"true\" : \"false\");\n this.displayBits = bits;\n }\n\n setChartDebug(debug: boolean | undefined): void {\n if (debug === undefined) {\n localStorage.removeItem(\"chartDebug\");\n this.chartDebug = !isProduction();\n return;\n }\n localStorage.setItem(\"chartDebug\", debug ? \"true\" : \"false\");\n this.chartDebug = debug;\n }\n\n setMorePausePrefixOptions = (flag: boolean): void => {\n localStorage.setItem(\"morePrefixPauseOptions\", flag ? \"true\" : \"false\");\n this.morePrefixPauseOptions = flag;\n };\n\n getMorePausePrefixOptions = (): boolean => {\n const localSetting = localStorage.getItem(\"morePrefixPauseOptions\");\n if (localSetting === \"true\") {\n return true;\n }\n return false;\n };\n\n getForceEnableRemoteBackend = (): boolean | undefined => {\n const localSetting = localStorage.getItem(\"enableRemoteBackend\");\n if (localSetting === \"true\") {\n return true;\n } else if (localSetting === \"false\") {\n return false;\n } else {\n return undefined;\n }\n };\n\n // only enable redirect for ui watcher build (:8080) by default\n getEnableRemoteBackend = (): boolean => {\n const forceEnableRemoteBackend = this.getForceEnableRemoteBackend();\n if (forceEnableRemoteBackend !== undefined) {\n return forceEnableRemoteBackend;\n } else {\n const envName = getEnvName();\n return envName === \"dev watch\";\n }\n };\n\n terminateWithPrejudice = (): void =>\n logger.warn(\"Can't terminate app, router never hooked in.\");\n\n setFlowTimerange = (\n value: StandardTimeRangeOption | [number, number]\n ): void => {\n localStorage.setItem(\"flowTimerange\", JSON.stringify(value));\n };\n\n getFlowTimerange = (): [number, number] | undefined => {\n const stringValue = localStorage.getItem(\"flowTimerange\");\n const rawValue = stringValue ? JSON.parse(stringValue) : undefined;\n if (rawValue && Array.isArray(rawValue)) {\n // custom time range\n return rawValue as [number, number];\n } else if (typeof rawValue === \"number\") {\n // standard time range (enum)\n return currentTimeRange(\n rawValue as StandardTimeRangeOption,\n moment()\n .startOf(\"minute\")\n .subtract(Constants.FLOW_QUERY_TIME_OFFSET, \"minutes\")\n );\n } else {\n // warn if we get here due to a parsing/type issue\n if (rawValue !== undefined) {\n logger.warn(\n \"getFlowTimeRange: localStorage value not understood, returning undefined\",\n stringValue\n );\n }\n // return default\n return undefined;\n }\n };\n\n setEnableTracking = (enabled: boolean): void => {\n if (enabled) {\n sessionStorage.setItem(\"enableTracking\", \"true\");\n logger.warn(\n \"%c Enabled only for this active browser session\",\n \"background: #000; color:#ff4c52\"\n );\n } else {\n sessionStorage.removeItem(\"enableTracking\");\n }\n };\n\n // TEMPORARY\n\n setEnableUnknownFilesToggle = (enabled: boolean): void => {\n if (enabled) {\n localStorage.setItem(\"enableUnknownFilesToggle\", \"true\");\n } else {\n localStorage.removeItem(\"enableUnknownFilesToggle\");\n }\n };\n\n getEnableUnknownFilesToggle = (): boolean => {\n return !!localStorage.getItem(\"enableUnknownFilesToggle\");\n };\n\n setShowTelemetry = (enabled: boolean): void => {\n if (enabled) {\n localStorage.setItem(\"xwShowTelemetry\", \"true\");\n } else {\n localStorage.removeItem(\"xwShowTelemetry\");\n }\n };\n\n getShowTelemetry = (): boolean => {\n // always show telemetry on labs (for demos)\n const envName = getEnvName();\n if (envName === \"cw-labs\") {\n return true;\n }\n return !!localStorage.getItem(\"xwShowTelemetry\");\n };\n\n setShowFlowAlarms = (enabled: boolean): void => {\n if (enabled) {\n localStorage.setItem(\"xwShowFlowAlarms\", \"true\");\n } else {\n localStorage.removeItem(\"xwShowFlowAlarms\");\n }\n };\n\n getShowFlowAlarms = (): boolean => {\n // always show flow alarms on labs (for demos)\n const envName = getEnvName();\n if (envName === \"cw-labs\") {\n return true;\n }\n\n const showFlowAlarms = localStorage.getItem(\"xwShowFlowAlarms\");\n return !!showFlowAlarms || true; // to hide flow alarms flip the switch to false\n };\n\n setEnableBGPUpdatesASPathFilter = (enabled: boolean): void => {\n if (enabled) {\n localStorage.setItem(\"enableBGPUpdatesASPathFilter\", \"true\");\n } else {\n localStorage.removeItem(\"enableBGPUpdatesASPathFilter\");\n }\n };\n\n getEnableBGPUpdatesASPathFilter = (): boolean => {\n return !!localStorage.getItem(\"enableBGPUpdatesASPathFilter\");\n };\n\n // END TEMPORARY\n}\n","import * as React from \"react\";\nimport \"./fullPage.scss\";\n\nimport { AnimatedLines } from \"../../components/animatedLines/animatedLines\";\nimport { Icon } from \"../../components/icon/icon\";\nimport { label, labelParam } from \"../../core/global\";\nimport { Toaster } from \"../../components/toast/toaster\";\n\ninterface Props {}\n\ninterface State {}\n\nexport default class Maintenance extends React.Component {\n constructor(props: Props) {\n super(props);\n }\n\n static getFooterYearValue(): string {\n const year = new Date().getFullYear();\n return labelParam(label.footer, { year });\n }\n\n render(): JSX.Element {\n return (\n
\n \n
\n
\n
\n \n
\n

\n {label.crosswork}\n {label.cloud}\n

\n

\n Currently undergoing planned maintenance. We will be back shortly.\n

\n \n
\n
{Maintenance.getFooterYearValue()}
\n
\n );\n }\n}\n","import React, { lazy, Suspense } from \"react\";\nimport * as logger from \"loglevel\";\nimport { checkValidSession } from \"../services/authService\";\nimport AppState from \"./dataflow/appState\";\nimport Login from \"../pages/session/login\";\nimport {\n fetchMaintenanceSetting,\n getEnvName,\n isPreFree,\n isPreTrial,\n isAws,\n isSupportedBrowser\n} from \"../utils/env\";\nimport { PageLoader } from \"../components/loader/pageLoader\";\nimport Maintenance from \"../pages/session/maintenance\";\nimport { EmptyProps } from \"../_types/emptyUtils\";\nimport { Landing } from \"../pages/session/landing\";\nimport PreSignup from \"../pages/session/preSignup\";\nimport { HashRouter, Route, Switch } from \"react-router-dom\";\nimport { Constants } from \"./constants\";\nimport { Toaster } from \"../components/toast/toaster\";\n\nconst AwsError = lazy(() => import(\"../pages/settings/system/aws/awsError\"));\nconst AWSLanding = lazy(\n () => import(\"../pages/settings/system/aws/awsLanding\")\n);\nconst AWSRegistrationInProgress = lazy(\n () => import(\"../pages/settings/system/aws/awsRegistrationInProgress\")\n);\nconst AwsRegistration = lazy(\n () => import(\"../pages/settings/system/aws/awsRegistration\")\n);\nconst Home = lazy(() => import(\"./home\"));\n\ndeclare global {\n interface Window {\n xw: AppState;\n logger: logger.Logger;\n }\n}\n\ninterface State {\n validSession: \"valid\" | \"invalid\" | \"unknown\" | \"presignup\" | \"aws\";\n terminated: boolean;\n loading: boolean;\n maintenance: boolean;\n}\n\nexport const initWindow = (): void => {\n // global utility namespace, this must move to typescript supported global\n window.xw = new AppState();\n window.logger = logger;\n if (getEnvName() !== \"production\") {\n logger.setLevel(0);\n }\n // remove static loader so that it doesn't linger in the background\n document.getElementById(\"app-loader\")?.remove();\n};\n\nexport class App extends React.Component {\n constructor(props: EmptyProps) {\n super(props);\n this.state = {\n validSession: \"unknown\",\n terminated: false,\n loading: true,\n maintenance: false\n };\n initWindow();\n }\n\n checkMaintenance = (): void => {\n // check override first\n const forceMaintenanceOverride = window.xw.getForceMaintenance();\n if (forceMaintenanceOverride !== undefined) {\n if (\n this.state.loading ||\n this.state.maintenance !== forceMaintenanceOverride\n ) {\n this.setState({\n maintenance: forceMaintenanceOverride,\n loading: false\n });\n }\n setTimeout(this.checkMaintenance, 60000);\n return;\n }\n\n // fetch ops/dev file and inspect header and content\n fetchMaintenanceSetting((maintenanceMode) => {\n if (this.state.loading || this.state.maintenance !== maintenanceMode) {\n this.setState({\n maintenance: maintenanceMode,\n loading: false\n });\n }\n setTimeout(this.checkMaintenance, 60000);\n });\n };\n\n checkSession(): void {\n checkValidSession()\n .then((data): void => {\n if (!data.RefreshToken || !data.RefreshToken.expired) {\n this.setState({ validSession: \"valid\" });\n } else {\n this.setState({ validSession: \"invalid\" });\n }\n })\n .catch((err): void => {\n this.setState({ validSession: \"invalid\" });\n logger.error(err);\n });\n }\n\n componentDidMount(): void {\n this.checkMaintenance();\n if (isPreFree() || isPreTrial()) {\n this.setState({ validSession: \"presignup\" });\n } else if (isAws()) {\n this.setState({ validSession: \"aws\" });\n } else {\n this.checkSession();\n }\n // provide a global hook to terminate routing immediately\n window.xw.terminateWithPrejudice = (): void => {\n logger.warn(\"Terminating app!\");\n window.xw.cache.clear();\n this.setState({ terminated: true });\n };\n }\n\n render(): React.ReactNode {\n const { loading, maintenance, terminated, validSession } = this.state;\n if (loading) {\n return ;\n }\n\n if (maintenance) {\n return ;\n }\n\n if (terminated) {\n logger.info(\"Not rendering, app terminated\");\n return ;\n }\n if (validSession === \"valid\") {\n return (\n }>\n \n \n );\n } else if (validSession === \"presignup\") {\n return ;\n } else if (validSession === \"aws\") {\n if (isSupportedBrowser) {\n return (\n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n } else {\n window.xw.terminateWithPrejudice();\n window.location.hash = \"/incompatible\";\n window.location.reload();\n }\n } else if (validSession === \"invalid\") {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n return null;\n }\n}\n","/*\n Common constants used across application\n */\n\nexport const DOCS_PLATFORM_BASE_URL =\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-network-automation/b_cisco-crosswork-cloud-user-guide\";\n\nexport const Constants = {\n // Component constants\n EMPTY_VALUE: \"--\",\n // Status constants\n STATUS_ERROR: -1,\n STATUS_SUCCESS: 0,\n\n // Input Text constants\n MAX_TEXT_TITLE: 64,\n\n TOAST_MAX: 3,\n TOAST_DURATION_DEFAULT: 5000,\n XFADE_DURATION: 300,\n\n TOOLTIP_HOVER_DELAY: 300,\n\n DEBOUNCE_DEFAULT: 350,\n DEBOUNCE_INPUT_TO_REMOTE: 750,\n TYPING_DELAY: 600,\n PROCESSING_DEFAULT: 2000,\n POLLING_INTERVAL_DEFAULT: 60,\n\n ASN_MAX: 4200000000,\n CHART_COLORS: 6,\n MARKER_RADIUS: 4,\n UINT32MAX: 4294967295,\n DEFAULT_CDG_ASN: 65000,\n FETCH_LIMIT_5000: 5000,\n FETCH_LIMIT_10000: 10000,\n LIMIT_1000: 1000,\n PREFIX_LIMIT: 5000,\n\n DEFAULT_BUCKETS: 60,\n DEFAULT_BARCHART_BUCKETS: 60,\n\n NO_PADDING: { top: 0, right: 0, bottom: 0, left: 0 },\n\n // Time Constants\n SEC_TO_NANOSEC: 1000000000,\n MILSEC_TO_NANOSEC: 1000000,\n SECONDS_DURATION: 1000,\n DAY_DURATION: 24 * 60 * 60 * 1000, // in most cases you probably want to use a library to handle daylight savings etc.!!!\n MINUTE_DURATION: 60 * 1000,\n HOUR_DURATION: 60 * 60 * 1000,\n WEEK_DURATION: 24 * 60 * 60 * 1000 * 7,\n MONTH_DURATION: 30 * 24 * 60 * 60000,\n ASPATHREGEX: /[ \\t\\r\\n;,]+/, // Separator for As Paths\n LOGOUTURL: \"/session/logout\",\n identityUrl: (platform: string): string | undefined => {\n if (platform) {\n return \"/auth/login/\" + platform + \"?redirect_url=\";\n }\n return undefined;\n },\n FILE_TYPE_TXT: \"text/plain\",\n PINNED: \"?pin=0\",\n UNKNOWN: \"UNKNOWN\",\n FILE: \"FILE\",\n SUBNET: \"SUBNET\",\n ASN: \"ASN\",\n ADD: \"ADD\",\n DELETE: \"DELETE\",\n UPDATE: \"UPDATE\",\n REMOVE: \"REMOVE\",\n CHANGE: \"CHANGE\",\n ACTIVE: \"ACTIVE\",\n UTC_FORMAT: \"DD MMM YY HH:mm:ss [UTC]\",\n UTC_FORMAT_TIME: \"HH:mm [UTC]\",\n BASIC_FORMAT: \"l LTS\",\n BASIC_FORMAT_TIME: \"LT\",\n DATE_FORMAT: \"L\",\n\n MINUTE_UTC_FORMAT: \"DD MMM YY HH:mm [UTC]\",\n MINUTE_BASIC_FORMAT: \"l LT\",\n LONG_DATE_FORMAT: \"dddd, MMMM Do YYYY\",\n MEDIUM_DATE_FORMAT: \"ddd MMM Do YYYY\",\n AWS_LANDING_URL:\n \"/8AC7B411EE147BD804494F6E30BDDBF5EBE5AF8BFFCE6392A6FBF8AF2F3C046E\",\n AWS_REGISTRATION_URL:\n \"/621C5D436631DE28EED2378FBA937C0A97DDC936B57C717397CF802B89B669A2\",\n AWS_REG_INPROGRESS_URL:\n \"/48F2C6769B4021D7340485A2129DF9E999858EAF307C7617257601BF21BF1E49\",\n AWS_ERROR_URL:\n \"/A84024DCB919E0D4972CBD70E7A8986AB4A2A2DA697C7C3249545E317F0E13F4\",\n TRIAL_URL:\n \"/99f46c6853c1df62c6772dfc8a47e866f895e0d2e2f6c0e0a7323fc12ddacceb\", // mapped with the backend for redirection\n FREE_URL: \"/ad95d5fa651ba86d8923fe1238d24a4f1988a752acfe426ac72ac7c04471bc17\", // mapped with the backend for redirection\n\n // Data Service Events\n EVENT_REQUEST_START: \"requestStart\",\n EVENT_REQUEST_END: \"requestEnd\",\n\n // React keystroke names\n ARROW_LEFT: \"ArrowLeft\",\n ARROW_RIGHT: \"ArrowRight\",\n TAB: \"Tab\",\n BACKSPACE: \"Backspace\",\n INFO: \"INFO\",\n ERROR: \"ERROR\",\n WARN: \"WARN\",\n CSV: \".csv\",\n TYPE_JSON: \".json\",\n // Default Form Values\n S3_DEFAULT_FQDN: \"s3.amazonaws.com\",\n S3_DEFAULT_PORT: 443,\n DEVICE_DEFAULT_PORT: 22,\n TELEMETRY_DEFAULT_GNMI_PORT: 57400,\n FLOW_REPLICATION_DEFAULT_PORT: 2055,\n ENTER: \"Enter\",\n CONFIRM: \"Confirm\",\n UTC: \"UTC\",\n ASC: \"ASC\",\n DESC: \"DESC\",\n EMAIL: \"EMAIL\",\n SMS: \"SMS\",\n S3: \"S3\",\n HOME: \"Home\",\n ALARMS: \"Alarms\",\n TAGS: \"Tags\",\n BGP_UPDATES: \"BGPUpdates\",\n GOOGLE_STORAGE_REMOVED_S3_SVC: \"REMOVED_SvcAccountKeyBase64\",\n RELEASE_NOTES_URL:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-cloud/b-crosswork-cloud-release-notes.html\",\n TRUST_RELEASE_NOTES_URL:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-network-automation/b_cisco-crosswork-trust-insights-release-notes.html\",\n TRIAL_HELP_URL:\n \"https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/ccni-trial-guide.html\",\n API_DOCS_URL: \"/apiDoc/CiscoCrossworkCloudAPI\",\n\n HELP_PLATFORM_LICENSING: DOCS_PLATFORM_BASE_URL + \"/m_manage-licensing.html\",\n HELP_PLATFORM_PURCHASE: DOCS_PLATFORM_BASE_URL + \"/m_manage-purchase.html\",\n HELP_PLATFORM_USERS: DOCS_PLATFORM_BASE_URL + \"/m_manage-users.html\",\n HELP_PLATFORM_IMPORT_EXPORT:\n DOCS_PLATFORM_BASE_URL + \"/m_import-and-export-configuration-files.html\",\n HELP_PLATFORM_ACTIVITY_LOG:\n DOCS_PLATFORM_BASE_URL + \"/m_view-a-list-of-actions-performed.html\",\n HELP_PLATFORM_HELP:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-cloud/Docs-Landing-Page/CrossworkCloud_Info_Center.html\",\n HELP_EXT_ROUTING_OVERVIEW:\n DOCS_PLATFORM_BASE_URL + \"/m_about-external-routing-analytics.html\",\n HELP_EXT_ROUTING_ALARMS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_monitor-alarms-external-routing-analytics.html#id_92402\",\n HELP_EXT_ROUTING_ALARMS_ROOT:\n DOCS_PLATFORM_BASE_URL +\n \"/m_monitor-alarms-external-routing-analytics.html\",\n HELP_EXT_ROUTING_MONITOR_ASNS:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-asns.html#id_125408\",\n HELP_EXT_ROUTING_MONITOR_PREFIXES:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-prefixes.html#id_124883\",\n HELP_EXT_ROUTING_BGP_UPDATES:\n DOCS_PLATFORM_BASE_URL +\n \"/m_monitor-bgp-updates-external-routing-analytics.html\",\n HELP_EXT_ROUTING_CONFIGURE_PREFIXES:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-prefixes-external-routing-analytics.html#id_84722\",\n HELP_EXT_ROUTING_CONFIGURE_ASNS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-asns-external-routing-analytics.html#id_93443\",\n HELP_EXT_ROUTING_CONFIGURE_PEERS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-peers-external-routing-analytics.html#Cisco_Task_in_List_GUI.dita_8fbcc13f-5039-4595-9e6e-590c2990cdf2\",\n HELP_EXT_ROUTING_REPORTS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-reports.html\",\n HELP_EXT_ROUTING_CONFIGURE_POLICIES:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#id_114836\",\n HELP_EXT_ROUTING_ENDPOINTS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-notification-endpoints-external-routing-analytics.html\",\n HELP_EXT_ROUTING_EXPRESS: DOCS_PLATFORM_BASE_URL + \"/m_use-setup-tools.html\",\n HELP_EXT_ROUTING:\n DOCS_PLATFORM_BASE_URL + \"/b_cisco-crosswork-cloud-user-guide.html\",\n HELP_EXT_ROUTING_ROV:\n DOCS_PLATFORM_BASE_URL + \"/m-validate-route-origin-information.html\",\n HELP_EXT_ROUTING_TOPOLOGY:\n DOCS_PLATFORM_BASE_URL + \"/m_view-prefix-path-topology.html\",\n\n HELP_TRAFFIC_OVERVIEW:\n DOCS_PLATFORM_BASE_URL + \"/m_about-traffic-analysis.html\",\n HELP_TRAFFIC_MONITOR_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-devices.html\",\n HELP_TRAFFIC_MONITOR_INTERFACES:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-interfaces-traffic-analysis.html\",\n HELP_TRAFFIC_MONITOR_PREFIXES:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-prefixes.html#id_124883\",\n HELP_TRAFFIC_MONITOR_ASNS:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-asns.html#id_125408\",\n HELP_TRAFFIC_TOOLS_COMPARISON:\n DOCS_PLATFORM_BASE_URL + \"/m_compare-traffic.html\",\n HELP_TRAFFIC_TOOLS_PROSPECTING:\n DOCS_PLATFORM_BASE_URL + \"/m_peer-prospecting.html\",\n HELP_TRAFFIC_CONFIGURE_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-devices.html\",\n HELP_TRAFFIC_CONFIGURE_GATEWAYS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-crosswork-data-gateways.html\",\n HELP_TRAFFIC_CONFIGURE_CREDENTIALS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-credentials.html\",\n HELP_TRAFFIC_CONFIGURE_DEVICES_GROUPS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-device-groups.html\",\n HELP_TRAFFIC_REMOVED_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-devices.html\",\n HELP_TRAFFIC_SETUP_CHECKLIST:\n DOCS_PLATFORM_BASE_URL + \"/m_use-setup-tools.html\",\n HELP_TRAFFIC:\n DOCS_PLATFORM_BASE_URL + \"/b_cisco-crosswork-cloud-user-guide.html\",\n HELP_TRAFFIC_FLOW_REPLICATION:\n DOCS_PLATFORM_BASE_URL +\n \"/m_send-netflow-traffic-to-multiple-destinations.html\",\n HELP_TRAFFIC_RECOMMENDATIONS:\n DOCS_PLATFORM_BASE_URL + \"/m_optimize_interface_utilization.html\",\n\n HELP_TRUST_OVERVIEW: DOCS_PLATFORM_BASE_URL + \"/m_about-trust-insights.html\",\n HELP_FLOW_ALARM_POLICIES:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html\",\n HELP_FLOW_ALARM_POLICY_CREATE:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#task_zr5_rls_dyb\",\n HELP_FLOW_ALARM_POLICY_DETAILS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#task_vkn_1vt_dyb\",\n HELP_FLOW_ALARM_POLICY_LIST:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#crosswork-cloud-traffic-analysis-policies\",\n HELP_FLOW_ALARMS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_monitor-alarms-external-routing-analytics.html\",\n HELP_FLOW_ALARMS_DETAILS:\n DOCS_PLATFORM_BASE_URL + \"/m-alarm-descriptions.html\",\n HELP_TRUST_ALARMS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_monitor-alarms-external-routing-analytics.html#concept_brw_pjv_dyb\",\n HELP_TRUST_ALARMS_DETAILS:\n DOCS_PLATFORM_BASE_URL + \"/m-alarm-descriptions.html\",\n HELP_TRUST_ALARM_POLICY_DETAILS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#task_policies_manage_trust\",\n HELP_TRUST_MONITOR_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_monitor-devices.html\",\n HELP_TRUST_TOOLS_DEVICE_COMPARISON:\n DOCS_PLATFORM_BASE_URL + \"/m_compare-devices.html\",\n HELP_TRUST_TOOLS_FIND_PACKAGE:\n DOCS_PLATFORM_BASE_URL + \"/m_find-packages.html\",\n HELP_TRUST_TOOLS_FIND_HARDWARE:\n DOCS_PLATFORM_BASE_URL + \"/m_find-hardware.html\",\n HELP_TRUST_TOOLS_FIND_FILES: DOCS_PLATFORM_BASE_URL + \"/m_find-files.html\",\n HELP_TRUST_CONFIGURE_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-devices.html\",\n HELP_TRUST_CONFIGURE_GATEWAYS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-crosswork-data-gateways.html#preflight-checklist2\",\n HELP_TRUST_CONFIGURE_ADD_GATEWAYS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-crosswork-data-gateways.html#task_zz4_g1l_tzb\",\n HELP_TRUST_CONFIGURE_ADD_GATEWAYS_STEPS:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-crosswork-data-gateways.html#Cisco_Task_in_List_GUI.dita_9eb946cc-9297-4d30-93a8-471b9cd81ffc\",\n HELP_TRUST_CONFIGURE_CREDENTIALS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-credentials.html\",\n HELP_TRUST_CONFIGURE_KGFS:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-known-good-files.html\",\n HELP_TRUST_CONFIGURE_POLICIES:\n DOCS_PLATFORM_BASE_URL +\n \"/m_configure-policies-external-routing-analytics.html#crosswork-cloud-trust-policies\",\n HELP_TRUST_REMOVED_DEVICES:\n DOCS_PLATFORM_BASE_URL + \"/m_configure-devices.html\",\n HELP_TRUST:\n DOCS_PLATFORM_BASE_URL + \"/b_cisco-crosswork-cloud-user-guide.html\",\n\n HELP_STOREFRONT_PAYMENT_URL:\n DOCS_PLATFORM_BASE_URL + \"/m_purchasing-support.html\",\n HELP_SUBSCRIPTION_URL:\n DOCS_PLATFORM_BASE_URL + \"/m_subscription-plan-options.html\",\n HELP_SALES_URL:\n DOCS_PLATFORM_BASE_URL +\n \"/m_purchase-crosswork-cloud.html#Cisco_Task_in_List_GUI.dita_3b9144c3-51c9-4538-9e49-a97038d973e9\",\n HELP_AWS_URL:\n DOCS_PLATFORM_BASE_URL +\n \"/m_purchase-crosswork-cloud.html#Cisco_Task_in_List_GUI.dita_004bd7fe-26da-4d00-bea8-46f5bd5aa773\",\n\n PREFIXES_KEY: \"prefixes\",\n ASNS_KEY: \"asns\",\n POLICIES_KEY: \"policies\",\n ENDPOINTS_KEY: \"notificationEndpoints\",\n STEP1: \"1\",\n STEP2: \"2\",\n STEP3: \"3\",\n STEP4: \"4\",\n GO_TO_REPORTS_PAGE: \"/reports\",\n LINE_SEPERATOR: \"line_seperator\",\n NOTFN_TAG_SUFFIX: \"_out\",\n EXPRESS_PREFIX: \"Express_\",\n SUBSCRIPTION_OPTIONS:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-network-automation/b_cisco-crosswork-cloud-user-guide/m_subscription-plan-options.html\",\n EXTERNALROUTING_VIDEO:\n \"https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/index.html?socialshare=NetworkInsights\",\n TRAFFICANALYSIS_VIDEO:\n \"https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/index.html?socialshare=TrafficAnalysis\",\n TRUSTINSIGHTS_VIDEO:\n \"https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/index.html?socialshare=TrustInsights\",\n EXTERNALROUTING_DATASHEET:\n \"https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-740228.html\",\n TRAFFICANALYSIS_DATASHEET:\n \"https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-744707.html\",\n TRUSTINSIGHTS_DATASHEET:\n \"https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/datasheet-c78-741972.html\",\n BGPMON_SIGNIN: \"https://portal.bgpmon.net/login.php?ret=/\",\n PEERMON_GUIDE:\n \"https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/ccni-peermon-guide.html\",\n CDG_LATEST_RELEASE: \"https://software.cisco.com/download/home/286323753/type\",\n XWC_REQUEST_TRIAL: \"https://engage2demand.cisco.com/LP=20037?\",\n XWC_PRODUCTS:\n \"https://www.cisco.com/c/en/us/products/cloud-systems-management/crosswork-network-automation/index.html#cloud-products\",\n XWC_SUPPORT:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-network-automation/b_cisco-crosswork-cloud-user-guide/m_get-product-support.html\",\n XWC_COMMUNITY:\n \"https://community.cisco.com/t5/custom/page/page-id/search?filter=location:4441-docs-service-providers&q=Crosswork%20Network%20Insights&mode=board\",\n XWC_COMMUNITY_JOIN:\n \"https://community.cisco.com/t5/custom/page/page-id/search?q=crosswork%20cloud%20api&mode=\",\n XWC_PRESALES: \"https://engage2demand.cisco.com/lp=11069?ecid=13896\",\n XWC_FINDRESELLER:\n \"https://locatr.cloudapps.cisco.com/WWChannels/LOCATR/openBasicSearch.do\",\n XWC_OUTSIDE_USA: \"https://globalcontacts.cloudapps.cisco.com/contacts\",\n XWC_CALL_NUMBER: \"tel:+1-800-553-6387\",\n XWC_CONTACTS: \"https://globalcontacts.cloudapps.cisco.com/contacts\",\n XWC_FEEDBACK: \"https://secure.opinionlab.com/ccc01/o.asp?id=jBjOhqOJ\",\n XWC_HELP:\n \"https://www.cisco.com/c/en/us/td/docs/cloud-systems-management/crosswork-network-automation/b_cisco-crosswork-cloud-user-guide/m_about-external-routing-analytics.html\",\n XWC_SITEMAP: \"https://www.cisco.com/c/en/us/about/sitemap.html\",\n XWC_TERMS_CONDITIONS:\n \"https://www.cisco.com/c/en/us/about/legal/terms-conditions.html\",\n XWC_PRIVACY_STATEMENT:\n \"https://www.cisco.com/c/en/us/about/legal/privacy-full.html\",\n XWC_COOKIES:\n \"https://www.cisco.com/c/en/us/about/legal/privacy-full.html#cookies\",\n XWC_TRADEMARKS: \"https://www.cisco.com/c/en/us/about/legal/trademarks.html\",\n XWC_SUPPORT_CASE: \"https://mycase.cloudapps.cisco.com/case\",\n XWC_TERMS:\n \"https://www.cisco.com/c/dam/en_us/about/doing_business/legal/OfferDescriptions/crosswork-cloud.pdf\",\n INSIGHTS_COMPARE_PKG_LIMIT: 500,\n LIMIT_50: 50,\n LIMIT_500: 500,\n\n KB: 1024,\n MB: Math.pow(1024, 2),\n GB: Math.pow(1024, 3),\n TB: Math.pow(1024, 4),\n PB: Math.pow(1024, 5),\n EB: Math.pow(1024, 6),\n KBIT: 1000,\n MBIT: Math.pow(1000, 2),\n GBIT: Math.pow(1000, 3),\n TBIT: Math.pow(1000, 4),\n PBIT: Math.pow(1000, 5),\n EBIT: Math.pow(1000, 6),\n\n MAX_PREFIX_SUBSCIPTIONS_ALLOWED: 5000,\n\n XW_CLOUD_SALES_EMAIL: \"sales@crosswork.cisco.com\",\n XW_CLOUD_ASK_ASSISTANCE_EMAIL: \"ask@crosswork.cisco.com\",\n XW_CLOUD_SUPPORT_EMAIL: \"support@crosswork.cisco.com\",\n\n // Backend strings NOT ENUMS\n MAGIC_INTERFACE_FOR_CDG_IP: \"eth0\",\n MAGIC_INTERFACE_FOR_CDG_IP_SB: \"eth1\",\n MAGIC_INTERFACE_FOR_CDG_IP_NB: \"eth2\",\n STYX: \"STYX\",\n CHARON: \"CHARON\",\n FLOWD: \"FLOWD\",\n\n AWS_REFERRER: \"source=aws\",\n\n TAGS_PAGE_LIMIT: 1000,\n MAX_TAGS_PER_ITEM: 30,\n MAX_TAG_LENGTH: 64,\n FLOW_QUERY_TIME_OFFSET: 5,\n\n CONTAINER_TRUST: \"CONTAINER_TRUST\",\n CONTAINER_FLOW: \"CONTAINER_FLOW\",\n\n DEFAULT_DEVICE_GROUP: \"unassigned\",\n\n STALENESS_NO_CACHE: 0.001,\n UTILIZATION_THRESHOLD: { HIGH: 0.5, CRITICAL: 0.8 },\n\n // XR versions\n XR7_2_2: \"7.2.2\",\n XR7_3_1: \"7.3.1\",\n XR7_3_2: \"7.3.2\",\n XR7_4_1: \"7.4.1\",\n XR7_4_2: \"7.4.2\",\n XR7_5_1: \"7.5.1\",\n XR7_5_2: \"7.5.2\",\n XR7_7_2: \"7.7.2\",\n XR7_7_21: \"7.7.21\",\n // ROV status notes strings to match to highlight\n ORIGIN_ASN_ERROR: \"origin does not match\",\n MAX_LENGTH_ERROR: \"length exceeds\"\n};\n","export default {\n \"en-US\": {\n aborted: \"Aborted\",\n accept: \"Accept\",\n acceptAgreement: \"Please accept agreement to continue\",\n acceptPendingEnrollment: \"Accept Pending Enrollment\",\n acceptPendingEnrollmentStepMsg:\n \"After a gateway is created with a valid enrollment token, it will appear here in pending state. To continue, click Allow under the Action column for the gateway you wish to add.\",\n acceptSecurityCertificate: \"Accept Security Certificate\",\n acceptSSHHostKey: \"Accept SSH Host Key\",\n acceptTerms: \"terms and conditions\",\n accessKeyId: \"Access Key ID\",\n accessKeySecret: \"Access Key Secret\",\n accountSettings: \"Account Settings\",\n ackFailure: \"Failed to acknowledge Alarm(s)\",\n acknowledged: \"Acknowledged\",\n ackSuccess: \"Alarm(s) Acknowledged\",\n action: \"Action\",\n advancedSettings: \"Advanced Settings\",\n allow: \"ALLOW\",\n revoke: \"REVOKE\",\n actions: {\n accept: \"Accept\",\n acknowledge: \"Acknowledge\",\n actions: \"Actions\",\n activate: \"Activate\",\n activated: \"Activated\",\n add: \"Add\",\n addDevice: \"Add Device\",\n addFilterResults: \"Add Filter Results\",\n addPeer: \"Add Peer\",\n apply: \"Apply\",\n applyFilters: \"Apply Filters\",\n applyToSelection: \"Apply to Selection\",\n back: \"Back\",\n browse: \"Browse\",\n cancel: \"Cancel\",\n clearFilter: \"Clear Filter\",\n clickHere: \"click here\",\n clickNameToToggle: \"Click name to toggle\",\n clone: \"Duplicate\",\n close: \"Close\",\n configure: \"Configure\",\n confirm: \"Confirm\",\n confirmTitle: \"Are You Sure?\",\n confirmUnpausePrefixesContent: \"Are you sure?\",\n continue: \"Continue\",\n continueEditing: \"Continue Editing\",\n copy: \"Copy\",\n create: \"Create\",\n deactivate: \"Deactivate\",\n deactivated: \"Deactivated\",\n delete: \"Delete\",\n deleteConfirmDescFmt: \"{0} will be permanently removed. \",\n deleteConfirmTitle: \"Are You Sure?\",\n disable: \"Disable\",\n disablePeerMsg: \"will be disabled.\",\n discardChanges: \"Discard Changes\",\n edit: \"Edit\",\n editPeer: \"Edit Peer\",\n editPolicy: \"Edit Policy\",\n enable: \"Enable\",\n enroll: \"Enroll\",\n expand: \"Expand\",\n export: \"Export\",\n exportConfiguration: \"Export Configurations\",\n fullscreen: \"View in Fullscreen\",\n fullscreenExit: \"Exit Fullscreen\",\n getHelp: \"Get Help\",\n hide: \"Hide\",\n import: \"Import\",\n link: \"Link\",\n linkSelected: \"Link Selected\",\n loadMore: \"Load more\",\n merge: \"Merge\",\n monitor: \"Monitor\",\n month: \"Month\",\n next: \"Next\",\n ok: \"OK\",\n pause: \"Pause\",\n peermonImport: \"Peermon Import\",\n preview: \"Preview\",\n previous: \"Previous\",\n remove: \"Remove\",\n replace: \"Replace\",\n reset: \"Reset\",\n restartImport: \"Restart Import\",\n revoke: \"Revoke\",\n save: \"Save\",\n show: \"Show\",\n snooze: \"Snooze\",\n snoozeOnce: \"Snooze Once\",\n snoozeUntil: \"Snooze Until\",\n submit: \"Submit\",\n subscribe: \"Subscribe\",\n test: \"Test\",\n toggleAll: \"Toggle All\",\n tryAgain: \"Try Again\",\n unacknowledge: \"Unacknowledge\",\n unchanged: \"Unchanged\",\n unenroll: \"Unenroll\",\n unlink: \"Unlink\",\n unmonitor: \"Unmonitor\",\n unpause: \"Resume\",\n unsnooze: \"Unsnooze\",\n unsubscribe: \"Unsubscribe\",\n update: \"Update\",\n updatePolicy: \"Update Policy\",\n viewPeers: \"View Peers\"\n },\n actionsPolicySubheader: \"Actions taken after a rule is triggered\",\n activate: \"Activate\",\n activateAccount:\n \"have a Cisco Connection Online (CCO) account prior to signing up for a Crosswork Cloud account.\",\n activateAWSSubscriptionHeader:\n \"To activate your AWS subscription, please provide the requested information, accept terms and Confirm\",\n activated: \"Activated\",\n activatePeerThreshold: \"Activate Peer Threshold\",\n activateTrial:\n \"To activate your trial subscription, accept terms and submit your request.\",\n activateTrialSubscription:\n \"have a Cisco Connection Online (CCO) account prior to activating your trial subscribtion.\",\n activateYourTrial: \"Activate your trial subscription\",\n activationMessage1:\n \" To activate your 90 day trial subscription, accept terms and submit request.\",\n activationMessage2: \"Confirmation will be sent to your {email} address.\",\n active: \"Active\",\n activeAlarmCount: \"Active Alarm Count\",\n activeAlarms: \"Active Alarms\",\n activeChanged: \"Active Changed\",\n activeCommitted: \"Active - Committed\",\n activeNetflowDataGateway:\n \"Active Crosswork Data Gateway configured for Netflow\",\n activePeerings: \"Active Peerings\",\n activeROA: \"Active ROA\",\n activeROARecords: \"Active ROA Records\",\n activeSessions: \"Active Sessions\",\n activeTrials: \"Active Trials\",\n activeUncommitted: \"Active - Uncommitted\",\n activityLog: \"Activity Log\",\n add: \"Add\",\n addAPIKey: \"Add API Key\",\n addCDGSuccess:\n \"Crosswork Data Gateway was added successfully. Next, you need to add and link devices to this gateway.\",\n addCredential: \"Add Credential\",\n addCrossworkDataGateway: \"Add Cisco Crosswork Data Gateway\",\n addDataGateway: \"Add Data Gateway\",\n addDataGatewayReplication: \"Add Data Gateway Replication\",\n addDate: \"Add Date\",\n addDevice: \"Add Device\",\n addDeviceGroup: \"Add Device Group\",\n addDeviceReplication: \"Add Device Replication\",\n addDevices: \"Add Devices\",\n addDeviceSuccess: \"Device added successfully.\",\n added: \"Added\",\n addedAt: \"Added At\",\n addedBy: \"Added By\",\n addedKGF: \"Known Good Files added successfully\",\n addedOriginAsnPolicy: \"Added Origin ASN to policy - {policy}\",\n addEndpoint: \"Add Endpoint\",\n addEndpointToAllRules: \"Add Endpoint to All Rules\",\n addEndpointToAllRulesDesc:\n \"Add the below endpoint to all existing rules on this policy\",\n addEntitlements: \"Add Entitlements\",\n addEntitlementSubHeader: \"Enter your subscription IDs.\",\n addFiles: \"Add Files\",\n addFilter: \"Add Filter\",\n addNewCredential: \"Add New Credential...\",\n addNewDeviceGroup: \"Add new device group...\",\n addNewPeerDevices: \"Add New Peer Devices\",\n addNewPeerDevicesDescription: \"Configure and add new device peers.\",\n addNotification: \"Add Notification\",\n addObservedFiles: \"Add Observed Files\",\n addOn: \"Add-On\",\n addOriginsToPolicy: \"Add Origins to Policy\",\n addOrRemove: \"+/-\",\n addPeersToUseFilter: \"Add peers to use this filter\",\n addPolicy: \"Add Policy\",\n addPolicyPrefixRules: \"Add Policy Prefix Rules\",\n addPolicyPrefixRulesSubheader: \"Select rules to activate for this policy\",\n addPolicyRulesDescription: \"Select rules to activate for this policy\",\n addPolicyTypeRules: \"Add Policy {type} Rules\",\n addQueue: \"Add Queue\",\n address: \"Address\",\n addressFamilyBgpStatus: \"Address family {af}\",\n addRule: \"Add Rule\",\n addRuleNavigation: \"Add Rule Navigation\",\n addRules: \"Add Rules\",\n addSource: \"Add Source\",\n addSubscription: \"Add Subscription\",\n addThingToComparisonFmt: \"Add {thing} to Comparison\",\n addToComparison: \"Add to Comparison\",\n addToComparisonDesc: \"Select rows you would like to add to the comparison\",\n addToKnownGoodFiles: \"Add Files to Known Good Files List\",\n addToken: \"Add Token\",\n addTrafficDevice: \"Add Traffic Device\",\n addTrustDevice: \"Add Trust Device\",\n addUpstreamsToPolicy: \"Add Upstreams to Policy\",\n addUser: \"Add User\",\n addUsersTextareaHint: \"Use a comma , or space or ; to add multiple users\",\n adjust: \"Adjust\",\n adminLocation: \"Admin Location\",\n adminState: \"Admin State\",\n advanced: \"Advanced\",\n advancedAlaCarte: \"Advanced\",\n advancedAsPathHint: \"Must be a number[][] in JSON format\",\n advancedLicenses: \"Advanced Licenses\",\n advancedTrial: \"Advanced Trial\",\n advancedTrialSubHeader:\n \"Updating your organization to Advanced can only be reversed by contacting Cisco support. To start the trial and upgrade to Advanced features claim the subscription\",\n advantage: \"Advantage\",\n advertised: \"Advertised\",\n advertisedPrefixCountDescription:\n \"Detects when the number of prefixes your peer advertises to the Cisco peer is outside of the range you specified.\",\n advertisedPrefixes: \"Advertised Prefixes\",\n advertisements: \"Advertisements\",\n AES128: \"AES128\",\n AES192: \"AES192\",\n AES192C: \"AES192C\",\n AES256: \"AES256\",\n AES256C: \"AES256C\",\n afterUpgrade: \"After Upgrade\",\n ago: \" ago\",\n alarm: \"Alarm\",\n alarmBGPData: \"Alarm Relevant BGP Update \",\n alarmBGPUpdateHistory: \"Alarm BGP Update History\",\n alarmBGPUpdateHistoryDescription: \"\",\n alarmCondition: \"Alarm Condition\",\n alarmConfigs: \"Alarm Configs\",\n alarmDetailDescription:\n \"View Alarm details such as severity, activity timestamps, relevant BGP updates, associated prefix, history, and so on.\",\n alarmDetails: \"Alarm Details\",\n alarmDetectionAt: \"Alarm Detection At\",\n alarmGroup: \"Policy\",\n alarmHistory: \"Alarm History\",\n alarmHistoryDescription:\n \"View and export historic alarms within a specified timeframe.\",\n alarmNotesFmt: \"{type} Alarm Notes\",\n alarms: \"Alarms\",\n alarmsDonut: \"Active Alarms By Rule\",\n alarmType: \"Alarm Type\",\n alerts: \"Alerts\",\n all: \"All\",\n allAlarms: \"All Alarms\",\n allDevices: \"All Devices\",\n allEssentialFeatures:\n \"which includes all Essential features plus additional benefits such as:\",\n allowOrRevokeGateway: \"Allow or revoke a gateway\",\n allPeerReport: \"All Peer Stats\",\n allPeerReportDescription:\n \"BGP session state per organization and the remote peer IP\",\n allPeers: \"All Peers\",\n allRules: \"All Rules\",\n analysis: \"Analysis\",\n annual: \"Annual\",\n anySub: \"Any Subscription\",\n anyTrigger: \"Any Trigger\",\n api: \"API\",\n apiCertificationDesc: \"Authorization key for Crosswork Cloud API\",\n apiDocumentation: \"API Documentation\",\n apiKeys: \"API Keys\",\n apiKeyTokens: \"API Key/Tokens\",\n apis: \"APIs\",\n apiUsage: \"API Usage\",\n apiUsageDescription: \"Ability to use the Crosswork Cloud APIs.\",\n appDownloaded: \"App Downloaded\",\n application: \"Application\",\n applications: \"Applications\",\n appSelection: \"App Selection\",\n architecture: \"Architecture\",\n as: \"AS\",\n asCentric: \"AS Centric\",\n ascending: \"Ascending\",\n asNewPrefixAlarmDetailsOverviewDescription1: \"There are currently \",\n asNewPrefixAlarmDetailsOverviewDescription2:\n \" Prefixes being announced seen by your peers\",\n asn: \"ASN\",\n asnRxTraffic: \"ASN Rx Traffic\",\n asnTxTraffic: \"ASN Tx Traffic\",\n asnBGPData: \"ASN BGP Updates \",\n asnBGPUpdateHistory: \"ASN BGP Update History\",\n asnBGPUpdateHistoryDescription:\n \"View relevant ASN BGP update details such as peers, peer AS, prefixes, associated AS routing path, communities path, BGP update type, and so on in a specified timeframe.\",\n asnDetails: \"ASN Details\",\n asnDetailsDescription:\n \"View ASN details such as relevant BGP updates, associated alarms, ROAs, RPSL, history, and so on.\",\n asnEditSuccess: \"ASN updated successfully\",\n asnInputHint:\n \"Enter the ASN for which you want to search for associated prefixes.\",\n asnLookingGlass: \"ASN Looking Glass\",\n asnLookingGlassDescription:\n \"View ASN peers, reporting peers, validity status, prefix subscription, and RPSL validity.\",\n asnLookup: \"ASN Lookup\",\n asnNotMonitored:\n \"In order to create this report you need to monitor the ASN. Would you like to monitor the ASN and schedule the report?\",\n asnPolicy: \"ASN Policy\",\n asnPolicyDeleted: \"ASN Policy Removed\",\n asnPolicyIdentifier: \"Provide a name that identifies this policy\",\n asnReviewMessage:\n \"Modifying fields below will change those values for all ASNs that you select. Once you submit the action cannot be easily undone.\",\n asnRIR: \" - ({rir})\",\n asnRouting: \"ASN Routing\",\n asnRoutingReportHeader: \"{asn} {frequency} Report\",\n asns: \"ASNs\",\n asnsInputHint: \"Enter a comma (,) as you type an ASN to commit it\",\n asnsToSubscribe: \"ASNs to Subscribe \",\n asnsWithCount: \"ASNs ({count})\",\n asnTag: \"ASN Tag\",\n asnTrafficAnalysis: \"ASN Traffic Analysis\",\n asnTrafficAnalysisDescription: \"\",\n asnTrafficGroupAnalysis: \"ASN Traffic Group Analysis\",\n asnTrafficGroupAnalysisDescription: \"\",\n asnUnlinkSuccess: \"ASN(s) unlinked from Policy\",\n asOriginViolationDescription:\n \"Detects when an origin ASN does not match one listed in the user specified Origin ASNs policy list.\",\n asOriginViolationMyPeersDescription:\n \"Detects when my peers report an origin ASN that does not match one listed in the user specified Origin ASNs policy list.\",\n asPath: \"AS Path\",\n asPathFilterErrorMsg:\n \"Use numeric value for ASNs, separated by space ( ) for a path\",\n asPathFilterHint: \"Use a space ( ) to separate each ASN in AS Path.\",\n asPathLengthDescription:\n \"Detects when an AS path length is not within the user specified path length range.\",\n asPathLengthDescriptionMyPeers:\n \"Detects when an AS path length is not within the user specified path length range for my peers.\",\n asPathPattern: \"Valid AS Path Pattern\",\n asPathPatternHint:\n \"Only used for the Valid AS Path Violation rule. Example: 3462 [2](345 | 109) 107\",\n asPathPatternTester: \"AS Path Pattern Configuration\",\n asPathPatternTesterDesc:\n \"Enter your test pattern, then enter the AS path you wish to test it against\",\n asPatternAlowed: \"Allowed characters: [ ] * - + | ( ) 0-9\",\n asPatternRequired:\n \"An AS Path Pattern is required because a 'Valid AS Path Violation' rule is included on this policy\",\n asPeeringChanges: \"AS Peering Changes\",\n asPeerings: \"AS Peerings\",\n asPeeringTypes: \"AS Peering Types\",\n asPeers: \"AS Peers\",\n asPrefixByRoa: \"AS Prefixes By ROA Status\",\n at: \"At\",\n atLeastIPv46UnicastMinMax:\n \"One of entry in IPv4/IPv6 Unicast Min/Max required\",\n atLeastLength: \"Must be at least {min}\",\n atLeastOneDevice: \"Device added\",\n atLeastOneFilter: \"At least one filter is required\",\n authenticationProtocol: \"Authentication Protocol\",\n authenticationPwd: \"Authentication Password\",\n authNoPriv: \"authNoPriv\",\n authPriv: \"authPriv\",\n authPwdMismatch: \"Authentication password mismatch\",\n auto: \"Auto\",\n autoClaimSubscription: \"Your subscription has been claimed\",\n available: \"Available\",\n availableInterfaces: \"Available Interfaces :\",\n availableTrials: \"Available Trials\",\n average: \"Average\",\n avg: \"Avg\",\n avgFPS: \"Avg FPS\",\n awaitingConfm: \"Waiting on confirmation\",\n aws: \"AWS\",\n awsHeaderDescription:\n \"Provide the following information to activate your entitlement.\",\n awsLoading:\n \"Please wait while we fetch the information from AWS Marketplace.\",\n awsMarketplace: \"AWS Marketplace\",\n awsPurchase: \"AWS Purchase\",\n awsPurchaseClaimBanner:\n \"If you have purchased a subscription from AWS, please wait for your claim subscription email. This may take some time. \",\n awsPurchaserId: \"AWS Purchaser ID\",\n awsRetryUrl: \"Please retry setting up AWS \",\n balanced: \"Balanced\",\n balancingRecommendationsDesc:\n \"Utilization projections are estimates based on original traffic flow\",\n baseline: \"Baseline\",\n baselineDevice: \"Baseline Device\",\n baselineSelect: \"Baseline Select\",\n baselineTimestamp: \"Baseline Timestamp\",\n basicAlarms: \"Basic Alarms\",\n bearerScopeAdmin: \"Admin\",\n bearerScopeReadOnly: \"Read Only\",\n bearerScopeReadWrite: \"Read Write\",\n bearerToken: \"Bearer Tokens\",\n bearerTokenDesc: \"Used for authorizing the use of the Crosswork Cloud API\",\n bgp: \"BGP\",\n bgpAndSnmp: \"BGP & SNMP\",\n bgpCredential: \"bgpCredential\",\n bgpDescription: \"\",\n bgpLastSeen: \"BGP Last Seen\",\n bgpmonAccountEmail: \"BGPMon Account Email\",\n bgpMonButton: \"Legacy BGPMon\",\n bgpMonCreateCCNAccountHint:\n \"To continue to receive alerts and information about the prefixes you find interesting, please create a Crosswork Cloud Network Insights account.\",\n bgpMonDescription:\n \"BGPMon is no longer available and has been replaced with Network Insights. Please create a new account under Crosswork Cloud.\",\n bgpMonEOLHint:\n \"BGPMon has been replaced with Crosswork Cloud Network Insights.\",\n bgpMonReplacementHint:\n \"Thank you for your support of BGPMon. We have been hard at work redesigning the features you rely on in BGPMon and added a few more.\",\n bgpPassword: \"BGP Password\",\n bgpRouterIpAddress: \"BGP Router ID IP Address\",\n bgpSendReceive: \"BGP Send Receive\",\n bgpSession: \"BGP Session\",\n bgpStatus: \"BGP Status\",\n bgpUpdateHistory: \"BGP Update History\",\n bgpUpdateHistoryDescription:\n \"View relevant BGP update details such as peers, peer AS, prefixes, associated AS routing path, communities path, BGP update type, and the last BGP update in a specified timeframe.\",\n bgpUpdates: \"BGP Updates\",\n bgpUpdatesAsPathFilterDisabledTooltip:\n \"This filter will not be applied until the time range is reduced to seven days or less\",\n billedBy: \"Billed By\",\n bits: \"bits\",\n bogons: \"Bogons\",\n bogonsSubtext: \"RFC1918, RFC5735, RFC6598\",\n bogonStatus: \"Bogon Status\",\n boolean: \"boolean\",\n boot: \"Boot\",\n bootIntegrityVerificationDetails:\n \"Hardware support for secure measurement and reporting of systems integrity at boot-time. Requires specific support from advanced versions of Trust Anchor Modules (TAm) , as well as BIOS support for secure measurement.\",\n both: \"Both\",\n breakdown: \"Breakdown\",\n browserError:\n \"You must use a supported version of Google Chrome or Mozilla Firefox. See the\",\n browserError1: \" for the list of supported browsers.\",\n bucket: \"Bucket Name\",\n build: \"Build\",\n buildVersion: \"Build Version\",\n builtOn: \"Built On\",\n builtTime: \"Built Time\",\n bulkEdit: \"Bulk Edit\",\n bulkEditPeerWarning:\n \"Modifying fields below will change those values for all peers that you have selected. This action cannot be undone. If there are alarms on existing policies and you overwrite that policy those alarms will be deleted from the system and are not recoverable.\",\n bulkEditSuccess: \"Prefix(es) updated successfully.\",\n bulkEditUsersStep1Caption:\n \"All entered values will overwrite existing values on the selected users.\",\n bulkEditUsersStep2Caption:\n \"These users will have the following values applied. All values in these colums will be overwritten as shown.\",\n bulkEditUsersTitle: \"Editing {count} users\",\n bulkEditWarning:\n \"Modifying fields below will change those values for all prefixes that you have selected. This action cannot be undone. If there are alarms on existing policies and you overwrite that policy those alarms will be deleted from the system and are not recoverable.\",\n bulkPeerEditSuccess: \"Peer(s) updated successfully.\",\n businessEmail: \"Business Email\",\n bytes: \"bytes\",\n callNumber: \"1-800-553-6387\",\n cannotConnect: \"Cannot Connect\",\n cannotFindPrefixMatch: \"Cannot find matching prefix\",\n cantBeFmt: 'Can\\'t be \"{value}\"',\n cantUnlinkObjNotFoundFmt:\n \"Unable to unlink {obj}. Try refreshing the page and trying again.\",\n capabilities: \"Capabilities\",\n capabilitiesLegendActive: \"= Unavailable\",\n capabilitiesLegendActiveInstalled: \"= Installed\",\n capabilitiesLegendAfterUpgrade: \"= Active With Upgrade\",\n capabilitiesLegendBeforeUpgrade: \"= Available with Upgrade\",\n capacity: \"Capacity\",\n capacityAlarmInfo: \"The capacity for this interface is set at\",\n category: \"Category\",\n caution: \"Caution\",\n cautionAboutUploadConfig:\n \"Importing a configuration into the system overwrites existing data of the same type. If your file contains empty prefixes, {reports} groups or endpoints, all existing data of that same type will be deleted. Use caution because you cannot undo this operation.\",\n cccTeam: \"Cisco Crosswork Cloud Team\",\n ccniPromoEssentialsDesc:\n \"['BGP: Realtime updates, Looking Glass, and Alarms', 'Peer and DNS monitoring', '1 day history', 'Notifications: Email and SMS']\",\n ccniPromoPremierDesc:\n \"['BGP: My Peers alarms (local)', 'RPKI and Path Topology', '90-day history', 'Notifications: Webex, Slack, PagerDuty, Teams, GCP, and AWS S3']\",\n ccniPromoLandingDescText:\n \"A powerful addition to any network operations SaaS-based services to help improve BGP routing health, increase network traffic visibility, and maintain trustworthy infrastructure.\",\n cctaDataRetentionLookbackDescription: \"\",\n cctaSubscriptionTermDescription: \"\",\n cctiSubscriptionTermDescription:\n \"Essentials Voucher requires activation of paid Essentials Licenses.\",\n cdg: \"Crosswork Data Gateway\",\n cdgAsnHint: \"Defaults to 65000 if not provided\",\n cdgCertMismatch: \"Certificate Mismatch\",\n cdgDeleteSuccess: \"Data Gateway removed successfully.\",\n cdgDisableSuccess: \"Data Gateway disabled successfully.\",\n cdgEditsuccess: \"Crosswork Data Gateway updated successfully.\",\n cdgEnableSuccess: \"Data Gateway enabled successfully.\",\n cdgFileUploadHint: \"Select a JSON or TXT (Base64 encoded) file to import.\",\n cdgFileUploadMsg:\n \"Please upload the virtual machine Crosswork Data Gateway configuration bundle to add a data gateway to the system.\",\n cdgGroupTagsMsg:\n \"Group tags provide means to group and identify a data gateway with similar traits.\",\n cdgName: \"Data Gateway\",\n cdgs: \"Data Gateways\",\n cdgDeleteWarning: {\n singular: \"gateway\",\n plural: \"gateways\",\n willAffect:\n \"will affect all associated devices and prevent further dossier or traffic collections.\",\n pleaseReviewTheImpact:\n \"Please review the impact on the system before removing.\"\n },\n cdgSecurityCertificateMsg:\n \"The CA certificate for this device has changed and needs to be accepted to permit the device on the network\",\n cdgTypeDisabledHasMapping:\n \"To change the Crosswork Data Gateway application, you must first unlink all devices.\",\n cdgTypeDisabledNoSubscription:\n \"Your subscription restricts the Crosswork Data Gateway to one application only.\",\n cdgTypeSelectInfo:\n \"Select the application for which this Crosswork Data Gateway is used.\",\n certificateApprovalPending: \"Certificate approval pending\",\n certificateExpired: \"Enrollment certificate has expired\",\n certificateInvalid: \"Enrollment certificate is not a valid certificate\",\n change: \"Change\",\n changeAuthenticationPwd: \"Change Authentication Password\",\n changeCount: \"Change Count\",\n changed: \"Changed\",\n changeOrgName: \"Change Name\",\n changeOrgNameTitle: \"Edit Organization Name\",\n changePassword: \"Change Password\",\n changePrivacyPwd: \"Change Privacy Password\",\n changes: \"Changes\",\n changesAppliesToAllAsns:\n \"Changes to this field are applied to all selected ASNs.\",\n changesAppliesToAllPrefixes:\n \"Changes to this field are applied to all selected prefixes.\",\n changesDetected: \"Changes detected\",\n changesFromDate: \"Changes from {date}\",\n chipHardwareRevision: \"Chip Hardware Revision\",\n chooseCollection: \"Choose a Collection\",\n cirInfo1: \"Set the maximum capacity for this interface, currently\",\n cirInfo2:\n \"if the actual committed rate is lower than the physical maximum.\",\n cirInterfaceCapTip:\n \"This interface rate has been set to reflect committed rate rather than the physical limit.\",\n cirLabel: \"Interface Capacity Override\",\n cirValHint: \"The minimum rate must be higher than 10Mbps\",\n chooseYourMethodOfCreationInfo:\n \"Crosswork Data Gateway(s) collect information from managed devices and send it to Cisco Crosswork Cloud. You must first install a Crosswork Data Gateway before you can use Traffic Analysis or Trust Insights. Each Crosswork Data Gateway is deployed on an individual Virtual Machine (VM).\",\n chooseYourMethodOfCreationGenerateToken: \"Generate token\",\n chooseYourMethodOfCreationCreate: \"Create CDG with Token\",\n chooseYourMethodOfCreationLaunch: \"Launch CDG\",\n chooseYourMethodOfCreationAuthorize: \"Authorize CDG Access\",\n chooseYourMethodOfCreationUse: \"Use Enrollment Token\",\n chooseYourMethodOfCreationEnter: \"Enter Details\",\n chooseYourMethodOfCreationImage: \"Create CDG Image\",\n chooseYourMethodOfCreationUpload: \"Upload Registration File\",\n chooseYourMethodOfCreation6Title: \"Enroll Crosswork Data Gateway 6.0+\",\n chooseYourMethodOfCreation5Title:\n \"Enroll Earlier Crosswork Data Gateway Releases\",\n chooseYourMethodOfCreationDownloadImage: \"Download Crosswork Data Gateway\",\n chooseYourMethodOfCreationDownloadText: \"Download CDG Image\",\n chooseYourMethodOfCreationDownload:\n \"If need to create a Crosswork Data Gateway, click Launch Download Site.\",\n chooseYourMethodOfCreationVM:\n \"If you have an existing Crosswork Data Gateway VM that you want to add, click Upload Registration File.\",\n chooseYourMethodOfCreationAuto:\n \"An enrollment token can be created and embedded during VM installation. This method automatically enrolls a Crosswork Data Gateway in Crosswork Cloud.\",\n cisco: \"Cisco\",\n ciscoAsn: \"Cisco ASN\",\n ciscoChipValidationDetails:\n \"Hardware integrity measurement and control for CPU and data plane ASIC components. Provides advanced protection against tampering with hardware forwarding components on newer Cisco routing platforms. Requires hardware support from advanced Trust Anchor Module(s).\",\n ciscoPartner: \"Cisco Partner\",\n ciscoRouteServer: \"Route Server\",\n ciscoUserAccounts: \"Cisco.com User Accounts\",\n ciscoUserAccountsDescription:\n \"Allows an all Cisco.com users to access Crosswork Cloud applications with one set of login credentials.\",\n city: \"City\",\n claim: \"Claim\",\n claimDate: \"Claim Date\",\n claimedBy: \"Claimed By\",\n claimSubscription: \"Claim Subscription\",\n claimSubscriptionSuccess: \"Subscription(s) claimed successfully.\",\n classification: \"Classification\",\n clearAllFilters: \"Clear All Filters\",\n clearChartSelection: \"Clear Chart Selection\",\n clearSelections: \"Clear Selections\",\n click: \"Click\",\n clickForOptions: \"Click for Options\",\n clickHere: \"Click here\",\n clickNameToDrilldown: \"Click name to drilldown\",\n clock: \"Clock\",\n clockSkew: \"Clock Skew Detected\",\n closeFilter: \"Close Filter\",\n closeNotification: \"Close Notification\",\n cloud: \"Cloud\",\n cloudConsumer: \"Cloud Consumer\",\n cniArticle:\n \"The Crosswork Network Insights BGP Analytics Engine enriches routing data with additional data sources such as RPKI, WHOIS, and IP Geolocation, reducing the time it takes to identify malicious activity or repair routing errors. Network Insights further leverages these data to provide rich analysis, visualization, and alerting on actionable network events, saving network operators time and increasing service availability.\",\n cniOnlineDocumentation: \"Crosswork Network Insights Documentation\",\n collectConfigurationHash: \"Collect Configuration Hash\",\n collectConfigurationHashInfo1:\n \"In order to monitor changes in configuration, we need to collect a fingerprint of the current configuration in the form of a hash. No information about your configuration will be stored in the cloud. If the configuration changes then the reported hash will change indicating a change.\",\n collectConfigurationHashInfo2:\n \"Do you allow Cisco to collect and store a hash of your configuration by enrolling this device in hash collection?\",\n collectDossier: \"Collect Dossier\",\n collected: \"Collected\",\n collectedAt: \"Collected At\",\n collectedFmt: \"Collected {time} ago\",\n collectingDossier: \"Collecting Dossier\",\n collection: \"Collection\",\n collectionAccessDenied: \"Dossier collection access denied\",\n collectionFrequency: \"Collection Frequency\",\n collectionGateway: \"Collection Gateway\",\n comingSoon: \"Coming Soon\",\n commandCrash: \"Command crash\",\n commaSeparatedFmt: \"Use a comma (,) to separate each {obj}\",\n committedButNotActivated: \"Committed But Not Activated\",\n commitedCapacity: \"Committed Capacity\",\n communities: \"Communities\",\n community: \"Community\",\n communityForum: \"Community Forum\",\n companyName: \"Company Name\",\n compare: \"Compare\",\n comparedReport: \"Compared Report\",\n comparisonTimestamp: \"Comparison Timestamp\",\n component: {\n am: \"AM\",\n children: \"Children\",\n code: \"Code\",\n custom: \"Custom\",\n displaying: \"Displaying\",\n dossierDifferences: \"Dossier Differences\",\n editColumn: \"Edit Columns\",\n error: \"Error\",\n exclude: \"Exclude\",\n excludeTooltip: \"Exclude the below 'Filter Value' query \",\n exportCSV: \"Export CSV\",\n filter: \"Filter\",\n filterFieldTooltip: \"Select the field you wish to filter on\",\n filterHeader: \"{action} Filter\",\n filterValue: \"Value\",\n filterValueTooltip: \"Regex search string\",\n hideColumn: \" Hide Column\",\n high: \"High\",\n include: \"Include\",\n includeExcludeTooltip:\n \"Include or exclude the below 'Filter Value' query \",\n includeTooltip: \"Include the below 'Filter Value' query \",\n info: \"Informational\",\n inputOptions: \"Input Options\",\n insufficientPrivileges: \"Insufficient Privileges\",\n label: \"Label\",\n last15Minutes: \"Last 15 Minutes\",\n last30d: \"Last 30 Days\",\n last3d: \"Last 3 Days\",\n last3Hour: \"Last 3 Hours\",\n last60d: \"Last 60 Days\",\n last90d: \"Last 90 Days\",\n lastDay: \"Last Day\",\n lastHour: \"Last Hour\",\n lastWeek: \"Last Week\",\n lastYear: \"Last Year\",\n loading: \"Loading...\",\n loadingSubText:\n \"We are currently processing your request, thank you for your patience\",\n low: \"Low\",\n med: \"Med\",\n newItem: \"New Item\",\n ninetyDays: \"90 Days\",\n noData: \"No Data\",\n noDataChartSubText: \"No data available at this time\",\n noDataSubText: \"Try adjusting filters or timeframe\",\n off: \"Off\",\n on: \"On\",\n oneDay: \"1 Day\",\n oneHour: \"1 Hour\",\n pm: \"PM\",\n resetTable: \"Reset Table\",\n sevenDays: \"7 Days\",\n severity: \"Severity\",\n sixHours: \"6 Hours\",\n sortAscending: \"Sort Ascending\",\n sortDescending: \"Sort Descending\",\n success: \"Success\",\n tableConfig: \"Table Config\",\n tableHeaderWedgeConfig: \"Column Wedge Settings\",\n tenMinutes: \"10 Minutes\",\n thirtyDays: \"30 Days\",\n thirtyMinutes: \"30 Minutes\",\n threeDays: \"3 Days\",\n threeHours: \"3 Hours\",\n threeHundredSixtyFive: \"365 Days\",\n timeRange: \"Time Range\",\n twelveHours: \"12 Hours\",\n twentyFourHours: \"24 Hours\",\n visual: \"Visual\",\n warning: \"Warning\"\n },\n confHash: \"Conf Hash\",\n configCloud: \"Config\",\n configHashDisabledMessage:\n \"This device is no longer set up to collect a configuration hash\",\n configImportAndExport: \"Configuration Import / Export\",\n configUploadSuccess: \"Your configuration has been successfully imported.\",\n configuration: \"Configuration\",\n configurationApiDocumentation: \"Configuration API Documentation\",\n configurationHashChange: \"Configuration Hash Change\",\n configurationHashChangeAccepted:\n \"Configuration hash change accepted successfully\",\n configurationHashChangeMessage:\n \"The hash key for this device is different indicating a change to the device configuration. If this change was expected, accept the new hash to clear this alarm. Any further changes to the device configuration after accepting this hash will trigger a new alarm.\",\n configurationHashCollectionFrequency:\n \"Configuration Hash Collection Frequency\",\n configurationHashCollectionRuleSubtitle:\n \"Choose the severity level of the alarm when a change is detected to your configuration.\",\n configurationChanges: \"Configuration Changes\",\n configure: \"Configure\",\n configureDataGateway: \"Configure Crosswork Data Gateway\",\n configuredState: \"Configured State\",\n configureFlowReplicationSubTitle:\n \"Note: The most granular configuration is prioritized. For example, configured devices are prioritized higher than Data Gateways.\",\n confirmAsnReportDeleteContent:\n \"Are you sure you want to delete the selected ASN Report - {name}?\",\n confirmAsnUnlinkContent:\n \"Are you sure you want to unlink the selected ASN(s)?\",\n confirmAsnUnmonitorContent:\n \"Are you sure you want to unmonitor selected ASN(s).\",\n confirmDelete: \"Confirm Delete\",\n confirmDeviceRemoval: \"Confirm Device Removal\",\n confirmDevicesUnlinkContent:\n \"Are you sure you want to unlink the selected Device(s)?\",\n confirmEndpointDeleteDescription1: \"Removing \",\n confirmEndpointDeleteDescription2:\n \"endpoint(s) will affect all policies in all applications where it is use.\",\n confirmEndpointDeleteDescription3:\n \"Please review the impact on the system before removing.\",\n confirmEndpointDeletion: \"Confirm Endpoint Removal\",\n confirmEndpointSummary1: \" application(s),\",\n confirmEndpointSummary2: \" policies\",\n confirmEndpointSummary3: \" and \",\n confirmEndpointSummary4: \" rule(s).\",\n confirmPeerDeleteContent:\n \"Are you sure you want to remove from selected Peer(s)?\",\n confirmPeersUnlinkContent:\n \"Are you sure you want to unlink the selected Peer(s).\",\n confirmPrefixesPauseContent:\n \"Select how long a duration to pause this prefix.\",\n confirmPrefixesSnoozeContent:\n \"Select how long a duration to snooze this prefix.\",\n confirmPrefixesUnlinkContent:\n \"Are you sure you want to unlink the selected Prefix(es) from their Policy?\",\n confirmPrefixesUnsubscribeContent:\n \"Are you sure you want to unsubscribe from selected Prefix(es)?\",\n confirmUnlinkHeading: \"Confirm Unlink\",\n confirmUnlinkPolicyDescription: \", unlink the listed policies\",\n confirmUnlinkPolicyRuleDescription: \" and policy rule(s)\",\n confirmUnlinkRuleDescription: \" and unlink its policy rule(s)\",\n confirmUnmonitorHeading: \"Confirm Unmonitor\",\n confirmUnpausePrefixesContent: \"Are you sure?\",\n confirmUnsubscribeHeading: \"Confirm Unsubscribe\",\n congratulations: \"Congratulations\",\n connected: \"Connected\",\n connectedDevicesDescription: \"List of devices this policy monitors\",\n connectedDevicesDescriptionEditMode:\n \"Update list of devices this policy monitors.\",\n connectedGatewayDescription: \"List of gateways this policy monitors.\",\n connectedGatewayDescriptionEditMode:\n \"Update the list of gateways this policy monitors.\",\n connection: \"Connection\",\n connectionType: \"Connection Type\",\n connectionTypeValue: \"SNMP + BGP\",\n connectivity: \"Connectivity\",\n contactDetail:\n \"Enter an email address we can contact in case any issues arise with this peer.\",\n contactEmail: \"Contact Email\",\n contactPurchasing: \"Contact Purchasing\",\n contacts: \"Contacts\",\n contactSalesTeam: \"Contact Sales Team\",\n contactUs: \"contact us\",\n containerImage: \"Container Image\",\n cookies: \"Cookies\",\n copied: \"Copied to clipboard..\",\n copy: \"Copy\",\n copyEnrollmentToken: \"Copy this token for use in the CDG creation\",\n copyEntitlement: \"Copy Entitlement\",\n costBasedOnPrefixes: \"Cost based on number of prefixes purchased\",\n costBasedOnDevices: \"Cost based on number of devices purchased\",\n count: \"Count\",\n country: \"Country\",\n countryCode: \"Country Code\",\n cpu: \"CPU\",\n cpuInPercent: \"CPU in %\",\n cpuUsage: \"CPU Usage\",\n createAccount: \"Create Account\",\n createAccountRequest: \"Create Account Request\",\n createAttachEndpoint: \"Add and attach a new Notification Endpoint\",\n createBearerToken: \"Add Bearer Token\",\n createCCOAccount: \"Create CCO Account\",\n createCCOAccountDescription:\n \"If you have an existing CCO account account click\",\n createCCOAccountDescription1: \" and return to this page.\",\n createCrossworkCloudAccount: \"Create Crosswork Cloud Account\",\n createEndpoint: \"Add Endpoint...\",\n createEnrollmentToken: \"Create Enrollment Token\",\n createLinkPolicy: \"Add or Link a Policy To Your Tracked Items\",\n createNewEndpoint: \"Add a new endpoint\",\n createNewPolicy: \"Create New Policy\",\n createNewPolicySubTitle: \"Enter the name of the new policy\",\n createOrganization: \"Create Organization\",\n createOrSelectToken: \"Create or select an enrollment token\",\n createPolicy: \"Add Policy\",\n createPolicyForPeers: \"Add Policy For Peers\",\n createRequestDescription:\n \"To activate your subscription, please provide the requested information, accept terms, and click Next\",\n createTypeEndpoint: \"Add {type} Endpoint\",\n credential: \"Credential\",\n credentialAddSubtitle:\n \"Credentials allow you to configure a single set of credentials that can be used across devices.\",\n credentialAddSuccess: \"Credential added successfully.\",\n credentialDeleteSuccess: \"Credential(s) removed successfully.\",\n credentialLinkSuccess: \"Credential linked successfully.\",\n credentials: \"Credentials\",\n credentialTypeSubtitle: \"Type: {credType}\",\n credentialUpdateSuccess: \"Credential updated successfully.\",\n critical: \"Critical\",\n criticalDescription:\n \"One or more device interfaces are above 80% utilization\",\n crosswork: \"Crosswork\",\n crossworkBannerText:\n \"A SaaS solution that provides operational insight and validation of network health and security with the agility and scale of the cloud.\",\n crossworkCloud: \"Crosswork Cloud\",\n crossworkCloudIntegrations: \"Crosswork Cloud Integrations\",\n csvFile: \"Upload CSV File\",\n csvFileUploadHint: \"Select CSV file you wish to import.\",\n csvImport: \"CSV Import\",\n csvOverwrite: \"CSV Overwrite\",\n csvUploadFileCaution:\n \"Uploading a CSV file overwrites existing prefixes. After you click Review & Submit, any prefixes not contained in the CSV file are deleted, including associated history and tracking information. Use caution because you cannot undo this operation.\",\n current: \"Current\",\n currentDeviceStatus: \"Current Device Status\",\n currentFrequency: \"Current Frequency\",\n currentLocation: \"Current Location\",\n currentPolicy: \"Current Policy\",\n currentPrefixes: \"Current # of Prefixes\",\n currentServiceTier: \"Current Service Tier\",\n currentState: \"Current State\",\n currentStatus: \"Current Status\",\n currentTags: \"Current Tags\",\n currentUsage: \"Current Usage\",\n customizeColumns: \"Customize Columns\",\n customTimeframe: \"Custom Timeframe\",\n daily: \"Daily\",\n dailyASN: \"Daily ASN\",\n dailyASNDescription:\n \"A daily report that contains information about the changes in route announcements and peering relationships for your Autonomous System.\",\n dailyReport: \" Daily Report\",\n dashboard: \"Dashboard\",\n dashboardExpressDescription:\n \"The easiest way to start using Crosswork External Routing Analysis is to configure policies using the Express Setup wizard.\",\n dashboardHelpDescription:\n \"To get additional help, please click one of the following options:\",\n dashboardTrialDescription:\n \"You can also explore other Cisco Crosswork Cloud applications to help monitor your network.\",\n dashboardWidgetAlarmsTableTitle: \"Violation Peers\",\n dashboardWidgetJump: \"Quick Jump\",\n dashboardWidgetJumpBtn: \"View\",\n dashboardWidgetJumpInputHelp:\n \"Enter an ASN, prefix or IP to view associated details.\",\n dashboardWidgetJumpInputLabel: \"ASN, Prefix or IP\",\n dashboardWidgetLinksEndpoints: \"Edit Notification Endpoints\",\n dashboardWidgetLinksEndpointsRO: \"View Notification Endpoints\",\n dashboardWidgetLinksExpress: \"Express Setup\",\n dashboardWidgetLinksSubtitle:\n \"Helpful links to specific sections of the application\",\n dashboardWidgetLinksTitle: \"Application Shortcuts\",\n dashboardWidgetLinksUsers: \"Manage Users\",\n data: \"Data\",\n dataGateway: \"Data Gateway\",\n dataGatewayAdded: \"Data Gateway Added\",\n trustDataGatewayConnectivityAlarmDescription:\n \"Detects when the on-premises Crosswork Data Gateway used for dossier collection is not reachable and dossier collection may be interrupted.\",\n dataGateways: \"Data Gateways\",\n dataGatewayStatus: \"Data Gateway status\",\n dataGatewayTrafficAnalysis: \"Data Gateway: Traffic Analysis\",\n dataGatewayTrustInsights: \"Data Gateway: Trust Insights\",\n dataGatewayVmId: \"Data gateway virtual machine identification\",\n dataLookBack: \"Historical Data\",\n dataRetentionLookback: \"Data Retention and Lookback\",\n dataRetentionLookbackDescription:\n \"Trust Insights maintains a trusted audit trail of device inventory and history of managed devices.\",\n dataTemplates: \"Data Templates\",\n dataTypes: \"Data Types\",\n dataTypeToView: \"Data type you wish to view\",\n date: \"Date\",\n dateAdded: \"Date Added\",\n dateClaimed: \"Date Claimed\",\n dateCreated: \"Date Created\",\n dateGreaterThanToday: \"Date should be greater than today\",\n dateLessthanTodayWarning: \"Date can't be a previous date\",\n dateTime: \"Date / Time\",\n day: \"Day\",\n dayorDays: \"Day(s)\",\n days: \"Days\",\n days30: \"30 Days\",\n daysRemaining: \"days remaining\",\n daysToTriggerBeforeExpiration: \"Days to Trigger Before Expiration\",\n deactivate: \"Deactivate\",\n deactivateAlarm: \"Deactivate Alarm\",\n deactivated: \"Deactivated\",\n deadSessions: \"Dead Sessions\",\n default: \"Default\",\n defaultDeviceGroup: \"Unassigned\",\n defaultDeviceGroupNoEdit: \"The default device group can not be edited\",\n defaultDeviceGroupOrNone: \"None/Unassigned\",\n defaultPolicy: \"Default Policy\",\n defaultPolicyTypeHeader: \"{type} Connection\",\n defaultPolicyTypeIgnored: \"{type} Ignored\",\n defaultPolicyTypeLastActiveAlarm: \"Last Active Alarm {type}\",\n defaultPolicyTypeMonitored: \"{type} Monitored\",\n defaultPolicyTypeSubHeader: \"{type} connectivity to {description}\",\n defaultToNetflowAddress: \"Defaults to Netflow Address if not provided\",\n deleteBearerTokenConfirm:\n \"Are you sure you want to remove {count} selected Bearer Token(s)?\",\n deleteCdgMsg:\n \"This will remove this data gateway from your system. In order to use this device in the future you will have to add the gateway back into the system.\",\n deleteCredentialMsg: \"This will permanently remove the credential(s).\",\n deleted: \"Deleted\",\n deleteDataGateways: \"Delete Data Gateways\",\n deleteDataGatewaysMsg:\n \"Selected Data Gateway(s) will be removed permanently.\",\n deletedBy: \"Removed By\",\n deleteDevicesMsg: \"Selected Device(s) will be removed permanently.\",\n deleteKeyConfirm:\n \"Are you sure you want to remove {count} selected key(s)?\",\n deleteUsersMsg:\n \"Are you sure you want to remove {count} users? You cannot undo this action once it is taken.\",\n demo: \"Demo\",\n deprecated: \"Deprecated\",\n derivedFrom: \"Derived from: \",\n derivedFromBelowSources: \"Derived from below sources\",\n derivedFromBGPUpdates: \"Derived from BGP Updates\",\n derivedFromLookingGlass: \"Derived from Looking Glass\",\n derivedFromRIRData: \"Derived from RIR Data\",\n derivedFromWhoisAndGeoData: \"Derived from RIR and Geolocation data\",\n DES: \"DES\",\n descending: \"Descending\",\n description: \"Description\",\n descriptionHint: \"Please be as descriptive as possible.\",\n deselectAll: \"Deselect All\",\n destinationAsns: \"Destination ASN(s)\",\n destinationPort: \"Destination Port\",\n details: \"Details\",\n detectedLocation: \"Detected Location\",\n deviantDevices: \"Deviant Devices\",\n deviation: \"Deviations\",\n deviation1: \"Platform is different\",\n deviation2: \"Base OS version is different\",\n deviation3: \"Platform and Base OS version are different\",\n device: \"Device\",\n deviceAddSuccess: \"Device added successfully.\",\n deviceAdminState: \"Device Admin State\",\n deviceAlreadyUptoDate: \"Current device functionality is up to date.\",\n deviceBaseOs: \"Device: Base OS\",\n deviceCDGLinked: \"Device linked to Crosswork Data Gateway\",\n deviceCentric: \"Device Centric\",\n deviceChanges: \"Device Changes\",\n deviceChangesForTs: \"Device Changes for {userSelectedChangesTs}\",\n deviceComparison: \"Device Comparison\",\n deviceConfigurationHashExpectationMessage1:\n \"The stored device configuration hash is expected to\",\n deviceConfigurationHashExpectationMessage2:\n \"the hash reported by the system\",\n deviceConfigurationHashExpectationMessage3: \"The stored XR commit ID is \",\n deviceConnectivity: \"Device Connectivity\",\n deviceConnectivityAlarmDescription:\n \"Monitor device connectivity to gateway\",\n deviceConnectivityChangeAlarmExpectedMessage:\n \" is configured to connect to \",\n deviceConnectivityChangeAlarmObservedMessage:\n \"This device is having connectivity problems with \",\n deviceConnectivityChangeAlarmObservedTimeMessage: \"Lost connection at \",\n deviceConnectivityChangeAlarmObservedTimeLossMessage: \"Loss of \",\n deviceConnectivityChangeAlarmObservedTimeOccuredMessage:\n \" connection last occurred at \",\n deviceConnectivityIssue: \"Device connectivity issue\",\n trustDeviceConnectivityAlarmDescription:\n \"Detects when Crosswork Cloud cannot reach a monitored Cisco IOS XR device for dossier collection.\",\n deviceCredentials: \"Device Credentials\",\n deviceCSVImportCaptionLine1:\n \"Download and edit the CSV file template to add up to {deviceLimit} to Crosswork Cloud with each import.\",\n deviceCSVImportCaptionLine2:\n \"The following must be configured before importing the CSV file, or the import will fail:\",\n deviceCSVImportReq1: \"At least one Data Gateway in Crosswork Cloud.\",\n deviceCSVImportReq2:\n \"Any credentials, device groups, or Data Gateways entered in the CSV file.\",\n deviceDeactivated: \"Device deactivated.\",\n deviceDeleteSuccess: \"Device removed successfully.\",\n devicesDeleteSuccess: \"Devices removed successfully\",\n deviceDescription: \"Device Description\",\n deviceDisabled: \"Device is disabled\",\n deviceDisableSuccess: \"Device disabled successfully.\",\n deviceEditSuccess: \"Device updated successfully.\",\n deviceEnableSuccess: \"Device enabled successfully.\",\n deviceEnrollmentCertExpirationDescription:\n \"Detects when the certificate used to enroll and validate a Cisco IOS XR device has expired.\",\n deviceEnrollmentCertExpirationImminentSubtitle:\n \"Choose the expiration status required to trigger a notification and the severity level.\",\n deviceEnrollmentCertExpirationSubtitle:\n \"Choose the severity level of the alarm when the device certificate expires.\",\n deviceEnrollmentCertificateImminentExpiryDescription:\n \"Monitors pending expiration status and is triggered when the number of days prior to expiration reaches the time you specify (7, 30, 60, or 90 days).\",\n deviceEnrollmentCertificateViolationDescription:\n \"Detects when the certificate used to enroll and validate a Cisco IOS XR device has failed validation.\",\n deviceFilterType: \"Device Filter Type\",\n deviceGroup: \"Device Group\",\n deviceGroupAddSuccess: \"Device group added successfully.\",\n deviceGroupDeleteMsg: \"This will permanently delete the device group(s).\",\n deviceGroupDeleteSuccess: \"Device group removed successfully. \",\n deviceGroupEditSuccess: \"Device group updated successfully.\",\n deviceGroups: \"Device Groups\",\n deviceGroupsDeleteSuccess: \"Device group(s) removed successfully. \",\n deviceGroupSubtitle:\n \"Grouping devices allows you to perform actions on a group of similar device types.\",\n deviceHardwareComparison: \"Device Hardware Comparison\",\n deviceHardwareComparisonDescription:\n \"Trust Insights will detect and report on hardware changes, including addition or removal of hardware, or changes in serial or part numbers or other device identifiers.\",\n deviceHashCollectionSuccessfullyDisabled:\n \"Device Hash Collection Successfully disabled\",\n deviceHashCollectionSuccessfullyEnabled:\n \"Device Hash Collection Successfully enabled\",\n deviceImportLimitErrMsg:\n \"You can only import 1,000 devices in one operation.\",\n deviceImportSuccess: \"Device(s) imported successfully.\",\n deviceInformation: \"Device Information\",\n deviceIP: \"Device IP\",\n deviceLinkSuccess: \"Device(s) linked successfully.\",\n deviceModel: \"Device Model\",\n deviceModelFilter: \"Device: Model\",\n deviceName: \"Device Name\",\n deviceNameStartsWith: \"Device Name starting with\",\n deviceNetflowGateway: \"Configure Devices\",\n deviceNotDeactivated: \"Device not deactivated.\",\n deviceOverview: \"Device Overview\",\n devicePolicyLinkRemoved: \"Removed devices linked with Policy\",\n devicePolicySuccess: \"Device(s) linked successfully\",\n deviceRemoveMsg: \"{deviceName} will be removed.\",\n deviceDeleteWarning: {\n singular: \"device\",\n plural: \"devices\",\n willAffect:\n \"will affect all policies in all applications where it is in use.\",\n pleaseReviewTheImpact:\n \"Please review the impact on the system before removing.\"\n },\n deviceRestarts: \"Device Restarts\",\n deviceRightToUse: \"Device Right To Use\",\n deviceRTU: \"Device RTU\",\n devices: \"Devices\",\n devicesPurchased: \"Devices-Purchased\",\n devicesRxTraffic: \"Device Rx Traffic\",\n devicesTxTraffic: \"Device Tx Traffic\",\n deviceSearch: \"Device Search\",\n deviceSelectLocation: \"Device: Location\",\n deviceSelectName: \"Device: Name\",\n deviceSelectTags: \"Device: Tags\",\n deviceSerialNumber: \"Device Serial Number\",\n deviceSize: \"Device Size\",\n devicesLinkSuccess: \"Devices linked successfully\",\n deviceSNMPLinked: \"SNMP credentials configured on device\",\n deviceSoftwareComparison: \"Device Software Comparison\",\n deviceSoftwareComparisonDescription:\n \"Trust Insights will detect and highlight changes in installed software versions including major OS, SMUs, and RPM packages.\",\n deviceSoftwareDifferences: \"Device Software Differences\",\n deviceSshHostKeyViolation: \"device ssh host key violation\",\n deviceSshHostKeyViolationDescription:\n \"Detects when the SSH host key for a monitored Cisco IOS XR device has changed and dossier collection has not been completed.\",\n deviceSSHStatus: \"SSH: {statusValue}\",\n deviceRunningConfigChangeDescription:\n \"Device Running Configuration Changes\",\n devicesUnlinkedSuccess: \"Devices unlinked successfully\",\n deviceSupport: \"Device Support\",\n devicesWithChanges: \"Devices With Changes\",\n deviceTag: \"Device Tag\",\n deviceTags: \"Device Tags\",\n deviceTimezone: \"Device Timezone\",\n deviceTrafficAnalysis: \"Device Traffic Analysis\",\n deviceTrafficAnalysisDescription: \"\",\n deviceTrafficAnalysisRecommendationDescription: \"\",\n deviceTrafficGroupAnalysis: \"Device Traffic Group Analysis\",\n deviceTrafficGroupAnalysisDescription: \"\",\n deviceType: \"Device Type\",\n deviceUnlinkConfirmMsg: \"This will unlink selected device(s).\",\n deviceUnlinkSuccess: \"Device(s) unlinked successfully.\",\n deviceUpgradeMsg:\n \"This device can gain added functionality with an update. Use the toggle to see the preview of what this update will provide.\",\n diff: \"Diff\",\n differences: \"Differences\",\n diffTree: \"Diff Tree\",\n diffTreeExceededLimit: \"Too many results. Displaying a subset of changes.\",\n directly: \"Directly\",\n disable: \"Disable\",\n disableCdgMsg:\n \"This will disable this Crosswork Data Gateway and it will no longer be able to send network data to Crosswork Cloud until enabled.\",\n disabled: \"Disabled\",\n disableDeviceMsg: \"This device will be disabled\",\n disableDevicesMsg: \"Selected device(s) will be disabled\",\n disableConfigurationHash: \"Disable Configure Hash\",\n disableConfigurationHashInfo1:\n \"Continuing will disable any future alarms and acknowledge any active alarms monitoring device configuration for this device.\",\n disableConfigurationHashInfo2:\n \"Are you sure you want to no longer monitor this device for configuration changes and clear all relevant active alarms?\",\n discardedData: \"Discarded Data\",\n discover: \"Discover\",\n disk: \"Disk\",\n displayingDeviceCaption:\n \"Displaying device {current} of {total} to be imported.\",\n dnsError: \"DNS error\",\n dnsRootPrefixWithdrawalDescription:\n \"Public Root DNS servers, which includes those assigned by IANA as well as those by OpenDNS and Google, are necessary for normal operation of a router participating in public internet routing. This alarm allows a user to monitor a set of prefixes (netblocks) to which the dns server address belongs and alerts the user if any prefix in the set is withdrawn. This alarm differs from the Prefix Withdrawal alarm because these prefixes do not add to the total amount of prefixes consumed by the user in their subscription, and the withdrawal is from a peer linked to the alarm rule.\",\n documentation: \"Documentation\",\n documentationDesc:\n \"Click on any of the production documentation links below for detailed user instructions. To access contextual help, click the help link in the page header of any screen.\",\n domain: \"Domain\",\n doNotShowAgain: \"Do not show this again\",\n dormant: \"Dormant\",\n dossierCollection: \"Dossier Collection\",\n dossiersCollected: \"Dossiers Collected\",\n dossierCollectionErrors: \"Dossier Collection Errors\",\n dossierCollectionFailure: \"Dossier Collection Failure\",\n dossierCollectionFailureDescription:\n \"Detects when Crosswork Cloud has failed to collect a dossier from a monitored Cisco IOS XR device.\",\n dossierCollectionFailureRuleSubtitle:\n \"Choose the severity level of the alarm when a device dossier collection fails.\",\n dossierCollectionWarning:\n \"Dossier collection may take a few minutes to complete.\",\n dossierError: \"Dossier Error\",\n dossierErrors: \"Dossier Errors\",\n dossierInfoSync: \"Dossier Information Synchronization\",\n dossierRequestIssued: \"Dossier collection request issued\",\n dossierSettings: \"Dossier Settings\",\n dossierSettingsSuccess: \"Dossier settings updated successfully.\",\n down: \"Down\",\n downloadConfigurations: \"Export Configuration\",\n downloadFileTemplate: \"Download Sample JSON Configuration File\",\n downloadSampleCSV: \"Download Sample CSV File\",\n downStream: \"Downstream\",\n downstreamAs: \"Downstream AS\",\n downstreamAsCount: \"Downstream AS Count\",\n duplicateDevice: \"Duplicate Device\",\n duplicateGateway: \"Duplicate Gateway\",\n duration: \"Duration\",\n dynamic: \"Dynamic\",\n editCredential: \"Edit Credential\",\n editDate: \"Edit Date\",\n editedBy: \"Edited By\",\n editFilter: \"Edit Filter\",\n editingDevices: \"Editing {deviceCount} Device(s)\",\n editingTrafficDevices: \"Editing {deviceCount} Traffic Analysis Device(s)\",\n editingTrustDevices: \"Editing {deviceCount} Trust Insights Device(s)\",\n editInterface: \"Edit Interface\",\n editPermissionDenied: \"You are not allowed to modify this user\",\n editTags: \"Edit Tags\",\n editTagsDesc:\n \"Your changes will overwrite tags associated with the selected items\",\n editValue: \"Edit Value\",\n egressInterface: \"Egress Interface\",\n email: \"Email\",\n emailAddress: \"Email Address\",\n emailConfirmation:\n \"Please check your email for your trial confirmation and follow any instructions listed.\",\n emailDescription:\n \"Configure a notification, such as an alarm or report, to be sent to an email address.\",\n emailValidationHint: \"Please enter a valid and complete email address\",\n embedded: \"Embedded\",\n embeddedVoucher: \"Embedded Voucher\",\n emsCertificate: \"EMS Certificate\",\n enable: \"Enable\",\n enabled: \"Enabled\",\n end: \"End\",\n endBeforeStartTimeError: \"The end time is before the start time\",\n endDate: \"End Date\",\n endpoint: \"Endpoint\",\n enjoy: \"Enjoy\",\n endpointAddedToRules: \"Endpoint added to rules\",\n endpointAlreadyOnPolicy: \"Endpoint already exists on this Policy\",\n endpointCreation: \"Add Endpoint\",\n endpointLinked: \"Endpoint Linked to Rule\",\n endpointRuleUnlinked: \"Endpoint Unlinked from Rules\",\n endpoints: \"Endpoints\",\n endpointSaved: \"Endpoint Saved\",\n endpointsDeleted: \"Endpoints Removed\",\n endpointsDisabled: \"Endpoints Disabled\",\n endpointsEnabled: \"Endpoints Enabled\",\n endpointsToLink: \"Endpoints to Link \",\n endpointsWithCount: \"Endpoints ({count})\",\n endPointType: \"Endpoint Type\",\n endpointVerifyDesc:\n \"We have sent a verification code to the {name} endpoint. Please enter the code that was sent in the field below. This is to verify that you have ownership over this endpoint.\",\n endTime: \"End Time\",\n endUserEmail: \"End User Email\",\n endUserHeader:\n \"If you are not the end user, enter the product administrator email address.\",\n enrollmentCertViolationRuleSubtitle:\n \"Choose the severity level of the alarm when the dossier signature does not match the device enrollment certificate.\",\n enrollmentState: \"Enrollment State\",\n enrollmentToken: \"Enrollment Token\",\n enrollmentTokenCreatedSuccess: \"Enrollment token created successfully.\",\n enrollmentTokenDeleteSuccess: \"Enrollment token removed successfully.\",\n enrollmentTokenName: \"Token Name\",\n enrollmentTokenStepMsg:\n \"Create a new or select an existing token. Copy and paste this token into the CDG creation flow to provide an Auto Enrollment feature. Once the CDG is created and booted up it will request admittance to your organization in Crosswork Cloud.\",\n enterASN: \"Enter ASN\",\n enterPrefix: \"Enter Prefix\",\n enterPrefixes: \"Enter Prefixes\",\n enterROAASN: \"Enter ROA ASN\",\n enterprise: \"Enterprise\",\n enterSubscriptionIDs:\n \"Enter your subscription IDs. To add multiple IDs, separate each ID with a comma or enter each ID on a new line.\",\n entitlement: \"Entitlement\",\n entitlementConfirmation: \"Entitlement Confirmation\",\n entitlementConfirmationDescription:\n \"Thank you for purchasing Cisco Crosswork Cloud. Make sure to copy and store the following ID in case you need it to activate your Crosswork Cloud entitlement at a later time.\",\n entitlementConfirmationDescriptionFooter1:\n \"To activate your entitlement, do one of the following:\",\n entitlementConfirmationDescriptionFooter2:\n \"if you have an existing Crosswork Cloud account.\",\n entitlementConfirmationDescriptionFooter3: \" to create a new account.\",\n entitlementConfirmationDescriptionFooter4:\n \"Note: You must have a Cisco Connection Online (CCO) account prior to creating a Crosswork Cloud account. You will have the opportunity to create one in the following screens.\",\n entitlementId: \"Entitlement ID\",\n entitlementSuccessful: \"Your entitlements have been successfully imported\",\n enums: {\n alarmCondition: {\n active: \"Active\",\n cleared: \"Cleared\",\n configured: \"Configured\",\n invalid: \"Invalid\",\n unconfigured: \"Unconfigured\"\n },\n alarmState: {\n acknowledged: \"Acknowledged\",\n active: \"Active\",\n activeSnoozed: \"Active (Snoozed)\",\n activeSnoozedOnce: \"Active (Snoozed Once)\",\n cleared: \"Cleared\",\n clearedSnoozed: \"Cleared (Snoozed)\",\n configured: \"Configured\",\n snoozed: \"Snoozed\",\n snoozedIndefinitely: \"Snoozed Indefinitely\",\n snoozedOnce: \"Snoozed Once\",\n snoozedUntil: \"Snoozed Until\",\n unconfigured: \"Unconfigured\"\n },\n bgpAfi: {\n ipv4: \"IPv4\",\n ipv6: \"IPv6\",\n ipv6Mcast: \"IPv6 Multicast\"\n },\n bgpState: {\n active: \"Active\",\n connect: \"Connect\",\n established: \"Established\",\n idle: \"Idle\",\n openConfirm: \"Open Confirm\",\n openSent: \"Open Sent\"\n },\n endpoints: {\n email: \"Email\",\n google: \"Google Storage\",\n microsoft: \"Microsoft Teams\",\n pager: \"PagerDuty\",\n s3: \"Amazon S3\",\n slack: \"Slack\",\n sms: \"SMS\",\n teams: \"Webex\"\n },\n monitor: {\n alreadyMonitored: \"Already Monitored\",\n monitored: \"Monitored\",\n unmonitored: \"Unmonitored\"\n },\n productId: {\n L_SPAUTO_NI_IB: \"External Route Analysis Basic Tier\",\n L_SPAUTO_NI_IE: \"External Route Analysis Essentials Tier\",\n L_SPAUTO_NI_IS: \"External Route Analysis Standard Tier\"\n },\n rules: {\n aggregate: \"Parent Aggregate Change\",\n aggregateMyPeers: \"Parent Aggregate Change - My Peers\",\n asNewPrefix: \"Unexpected AS Prefix\",\n asPathLength: \"AS Path Length Violation\",\n asPathLengthMyPeers: \"AS Path Length Violation - My Peers\",\n dataGatewayConnectivity: \"Data Gateway Connectivity\",\n deviceConnectivity: \"Device Connectivity\",\n deviceEnrollmentCertExpiration: \"Expired Device Certificate\",\n deviceEnrollmentCertImminentExpiry: \"Device Certificate Expiring\",\n deviceEnrollmentCertViolation: \"Device Certificate Violation\",\n deviceSshHostKeyViolation: \"Device SSH Host Key Violation\",\n deviceRunningConfigChange: \"Device Running Configuration Change\",\n dossierCollectionFailure: \"Dossier Collection Failure\",\n hardwareIntegrityValidation: \"Hardware Integrity Validation\",\n interfaceRxUtilization: \"Interface RX Utilization\",\n interfaceTxUtilization: \"Interface TX Utilization\",\n leftAsn: \"Upstream AS Change\",\n leftAsnMyPeers: \"Upstream AS Change - My Peers\",\n lossOfConnection: \"Loss of Connection\",\n lossOfDeviceConnection: \"Lost Device Connection\",\n lossOfGatewayConnection: \"Lost Gateway Connection\",\n mismatchedFiles: \"Mismatched Files\",\n newASPathEdge: \"New AS Path Edge\",\n originAs: \"AS Origin Violation\",\n originAsMyPeers: \"AS Origin Violation - My Peers\",\n packageValidation: \"Package Validation\",\n peerAdvertisedPrefixCount: \"Advertised Prefix Count\",\n peerDnsRootServerWithdrawal: \"DNS Root Server Withdrawal\",\n peerDown: \"Peer Down\",\n prefixAdvertisement: \"Prefix Advertisement\",\n prefixAdvertisementMyPeers: \"Prefix Advertisement - My Peers\",\n prefixUtilization: \"Prefix Utilization\",\n prefixWithdrawn: \"Prefix Withdrawal\",\n prefixWithdrawnMyPeers: \"Prefix Withdrawal - My Peers\",\n prohibitedIpPrefix: \"Prohibited IP Prefix\",\n roa: \"ROA Failure\",\n roaExpiry: \"ROA Expiry\",\n roaNotFound: \"ROA Not Found\",\n subprefixAdvertisement: \"Subprefix Advertisement\",\n unknownFile: \"Unknown Files\",\n unknownRuleType: \"Unknown Rule Type\",\n validAsPath: \"Valid AS Path Violation\",\n validAsPathMyPeers: \"Valid AS Path Violation - My Peers\"\n },\n severity: {\n gray: \"Low\",\n red: \"High\",\n unknown: \"Unknown\",\n yellow: \"Medium\"\n },\n subscribe: {\n alreadySubscribed: \"Already Subscribed\",\n no: \"No\",\n yes: \"Yes\"\n }\n },\n enumsText: \"Enums\",\n error: \"Error\",\n errorCode: \"Error code {error}\",\n errorCollected: \"Errored\",\n errorCollectedFmt: \"Errored {time} ago\",\n collectingConfigurationHash: \"Collecting Configuration Hash\",\n errorFetchingUserDetails: \"Error Fetching User Details\",\n errorTrustLicense: \"Error Adding Embedded Trust License\",\n errorViewDetails: \"Error - View Details\",\n essential: \"Essential\",\n essentialLicenses: \"Essential Licenses\",\n essentials: \"Essentials\",\n essentialsAlaCarte: \"Essentials a-la-carte\",\n essentialsEmbedded: \"Essentials Embedded\",\n essentialsFunction: \"Essentials + Function\",\n estimatedGeolocation: \"Estimated Geolocation\",\n every20Min: \"Every 20 min\",\n eventAt: \"Event At\",\n events: \"Events\",\n eventType: \"Event Type\",\n exactMatch: \"Exact Match\",\n example: \"Example\",\n examples: \"Examples\",\n excludedIpv4Masks: \"Exclude IPv4 Masks\",\n excludedIpv6Masks: \"Exclude IPv6 Masks\",\n existingPolicy: \"Existing Policy\",\n existingPurchases: \"Existing Purchases\",\n expected: \"Expected\",\n expectedAsPathEditor: \"Expected AS Path Editor\",\n expectedAsPathJson: \"Expected AS Path JSON\",\n expectedHash: \"Expected Hash\",\n expectedOriginASNs: \"Expected Origin ASNs\",\n expectedProhibitedIpPfxBogonMsg:\n \"The peer is not expected to advertise unassigned and prohibited (bogon) prefixes.\",\n expectedProhibitedIpPfxFullBogonMsg:\n \"The peer is not expected to advertise IP address space that is prohibited (bogons) or that has been allocated to a RIR but not assigned by that RIR to an actual ISP or other end-user.\",\n expectedUpstreamASNs: \"Expected Upstream ASNs\",\n expired: \"Expired\",\n expiredSubscription:\n \"Your subscription has expired. To avoid service disruption, extend or change your subscription. For more information about purchasing please go \",\n expires: \"Expires\",\n expiresToday: \"Expires Today\",\n expiresWithin: \"Expires Within\",\n expiring: \"Expiring\",\n expiringROA: \"Expiring ROA\",\n expiringROACount: \"Expiring ROA Count\",\n expiringROARecords: \"Expiring ROA Records\",\n expiringSoon: \"Expiring Soon\",\n expiryDate: \"Expiry Date\",\n exportCsvDesc:\n \"The current number of records loaded in memory is displayed below. If you want to export more records than currently loaded, please enter the desired number (up to one thousand) and select Export.\",\n exportCsvInputHint: \"Maximum amount is 1,000 records\",\n exportCsvInputLabel: \"Records to be Exported\",\n exportFullDiffTreeJSON: \"Export Full JSON of Changes\",\n exportImage: \"Export Image\",\n exportNRowsFmt: \"Export {rows} Rows\",\n exportRowsToCsv: \"Export Rows to CSV\",\n exportStatusReport: \"Export Status Report\",\n expressErrorAsnHasPolicyAction: \"Unlink Policy\",\n expressErrorAsnHasPolicyDescription:\n \"The selected ASN has {policyName} policy associated with it. An ASN can have only one associated policy. To run Express Setup on this ASN, you must first unlink the policy from the ASN.\",\n expressErrorAsnHasPolicyHeader: \"ASN policy already exists\",\n expressErrorAsnPolicyAlreadyExistAction: \"Delete Express ASN Policy\",\n expressErrorAsnPolicyAlreadyExistDescription:\n \"The ASN policy {policyName} already exists. To run Express Setup again, you must first delete this existing policy.\",\n expressErrorAsnPolicyAlreadyExistHeader:\n \"Express ASN policy already exists\",\n expressErrorPrefixPolicyAlreadyExistAction: \"Delete Express Prefix Policy\",\n expressErrorPrefixPolicyAlreadyExistDescription:\n \"The prefix policy {policyName} already exists. To run Express Setup again, you must first delete this existing policy.\",\n expressErrorPrefixPolicyAlreadyExistHeader:\n \"Express prefix policy already exists\",\n expressPrefixLoadError:\n \"Unable to load prefix data. Existing tags on selected prefixes may be lost if you proceed.\",\n expressSetup: \"Express Setup\",\n expressSetupSuccess: \"Express setup completed successfully\",\n expressWizardDesc: \"Get started quickly by using these simple setup tools.\",\n expressWizards: \"Express Wizards\",\n extend: \"Extend\",\n extendTrial: \"Extend Trial\",\n extendTrialSubscription: \"Extend your trial subscription\",\n external: \"External\",\n externalRouteAnalysis: \"External Route Analysis\",\n externalRouteAnalysisTrial: \"External Route Analysis Trial\",\n externalRouting: \"External Routing\",\n externalRoutingAnalysis: \"External Routing Analysis\",\n externalRoutingDecription:\n \"Network and BGP analysis to maintain routing health by monitoring for route leaks and hijacks.\",\n extraLarge: \"Extra Large\",\n extraSmall: \"Extra Small\",\n failure: \"Failure\",\n failures: \"Failures\",\n featureIsDisabled: \"Feature is disabled\",\n featureRequest: \"Feature Request\",\n featureType: \"Feature Type\",\n feedback: \"Feedback\",\n feedbackSuccess: \"Feedback submitted successfully.\",\n fieldReplaceUnit: \"Field Replaceable Unit\",\n fifteenMinutes: \"15 Minutes\",\n file: \"File\",\n fileAndPath: \"File & Path\",\n fileCName: \"File: Name\",\n fileEmptyError: \"File has no content\",\n fileHasNoContent: \"Selected file has no content\",\n fileMismatch: \"Files Mismatches\",\n fileName: \"File Name\",\n fileParsingError: \"Error parsing file content\",\n files: \"Files\",\n fileSelection: \"File Selection\",\n fileSignatureAnalysis: \"File Signature Analysis\",\n fileSignatureAnalysisNameFmt: \"File Signature Analysis : {file}\",\n fileSignatureAnalysisSubTitle:\n \"Historical details and other devices where the file appears.\",\n fileSizeExceeds10MB: \"File size exceeds 10MB\",\n filesObservedRunning: \"Files Observed Running\",\n filesOnDisk: \"Files On Disk\",\n filesWithMismatch: \"Total Files with Mismatches\",\n fileTypeError: \"Invalid file type\",\n fileUploadHint: \"Select JSON configuration file to import.\",\n fillInfo: \"Please fill in the information\",\n filter: \"Filter\",\n filterBy: \"Filter By\",\n filterCriteriaTitle:\n \"Select the type of filter, the filter value, and whether to include or exclude if available, the value from the results\",\n filteredAlarms: \"Filtered Alarms\",\n filteredBy: \"Filtered By\",\n filteringSortingForHiddenRemoved:\n \"Filtering and sorting for hidden column(s) has been removed\",\n filtersChanged: \"Filters Have Changed\",\n filtersChangedDesc:\n \"Changes to filters have been made. Would you like to apply them?\",\n filterType: \"Filter Type\",\n findByDevice: \"Find By Device\",\n findByFile: \"Find By File\",\n findDetails: \"Find Details\",\n findFileHashFilterText: \"Enter a full or partial hash value\",\n findFileNamePathFilterText: \"Enter File name with Path\",\n findFiles: \"Find Files\",\n findFilesNoData:\n \"You must create at least one filter in addition to Device Type, which is a required filter.\",\n findFilesSubHeader:\n \"Locate files by entering a hash, file and path, or search by device.\",\n findHardware: \"Find Hardware\",\n findHardwareSubTitle:\n \"Locate specific components by name, model, or serial numbers\",\n findHardwareTableFilter:\n \"Click Add Filter and enter criteria to search for hardware by name, model, or serial number.\",\n fingerPrintRuntimeMissing:\n \"With fingerprinting disabled we are not able to fully inspect the integrity of packages. Please enable fingerprinting by following the instructions found \",\n findOutMore: \"Find Out More\",\n findPackage: \"Find Package\",\n findReseller: \"Find Reseller\",\n finish: \"Finish\",\n firmware: \"Firmware\",\n firmwareRevision: \"Firmware Revision\",\n firstHop: \"1st Hop\",\n firstLast: \"First Last Name\",\n firstLoginDate: \"First Login Date\",\n firstName: \"First Name\",\n firstPage: \"First Page\",\n firstSeen: \"First Seen\",\n fiveMinutes: \"5 Minutes\",\n fixed: \"(Fixed)\",\n float: \"float\",\n flowCDGCannotBeSameAsTrustCDG:\n \"Traffic Data Gateway cannot be same as Trust Data Gateway\",\n flowExtraLargeDeviceDescription: \"Extra Large < 1000 Gbps Throughput\",\n flowExtraLargeShortDeviceDescription: \"Extra Large\",\n flowExtraSmallDeviceDescription: \"Extra Small < 5 Gbps Throughput\",\n flowExtraSmallShortDeviceDescription: \"Extra Small\",\n flowLargeDeviceDescription: \"Large < 350 Gbps Throughput\",\n flowLargeShortDeviceDescription: \"Large\",\n flowMediumDeviceDescription: \"Medium < 100 Gbps Throughput\",\n flowMediumShortDeviceDescription: \"Medium\",\n flowReplication: \"Flow Replication\",\n flowReplicationConfigAddSuccess:\n \"Flow replication configuration added successfully.\",\n flowReplicationConfigEditSuccess:\n \"Flow replication configuration updated successfully.\",\n flowReplicationPortHint: \"Defaults to 2055 if not provided\",\n flowReplicationSubscriptionDescription:\n \"Send Netflow Traffic to Multiple Destinations\",\n flowSmallDeviceDescription: \"Small < 25 Gbps Throughput\",\n flowSmallShortDeviceDescription: \"Small\",\n flowsPerSecond: \"Flows Per Second\",\n focus: \"Focus\",\n footer: \"© {year} Cisco and/or its affiliates. All rights reserved.\",\n forgotPassword: \"Forgot Password\",\n forward: \"Forward\",\n fourOctetASN: \"Four Octet ASN\",\n fqdn: \"FQDN\",\n free: \"Free\",\n freeAccess: \"Gain free access to a robust set of features for \",\n freeOneYear: \"Free for 1 Year\",\n freeDisclaimer:\n \"Free accounts are subject to Cisco approval and can be cancelled at any time.\",\n freeGuide: \" Cisco Crosswork Cloud Account Guide.\",\n freeMem: \"Free Memory\",\n freeRequest: \"Network Insights Free Account Request\",\n freeUserSubscriptionExpired:\n \"To avoid service disruption, you must meet one of the free subscription \",\n freeUserSubscriptionExpired1: \"requirements \",\n freeUserSubscriptionExpired2: \"or purchase a subscription \",\n frequency: \"Frequency\",\n from: \"From\",\n fullBogons: \"Full bogons\",\n fullBogonsSubtext:\n \"IP address space that is prohibited (bogons) or that has been allocated to a RIR but not assigned by that RIR to an actual ISP or other end-user.\",\n fullFeatureAccess: \" full feature access for 90 days, \",\n functionPack: \"Function Packs\",\n gateway: \"Gateway\",\n gatewayConnectivity: \"Gateway Connectivity\",\n gatewayConnectivityAlarmDescription:\n \"Monitor gateway connectivity to Crosswork Cloud\",\n gatewayConnectivityIssue: \"Gateway connectivity issue\",\n gateways: \"gateways\",\n gbps: \"GBps\",\n gigabitPerSecond: \"Gbps\",\n general: \"General\",\n generalFeatures: \"General Features\",\n generate: \"Generate\",\n generateReport: \"Generate Report\",\n generateReportSuccess:\n \"Submitted the request for generating report, please check for the generated report after 5 minutes.\",\n geoLocationConfidenceTooltip:\n \"The estimated geolocation is based on the location of a sampling of IPs in the prefix that matches the address information from the Regional Internet Registry (RIR).\",\n geoLocationGaugeTooltip:\n \"The metrics gauge indicates the confidence level (Low, Med, or High) of how accurate the location is based on prefix IP sampling.\",\n getHelp: \"Get Help\",\n getStarted: \"Get Started\",\n gettingStarted: \"Getting Started\",\n giveFeedback: \"Give Feedback\",\n global: \"Global\",\n goBack: \"Go Back\",\n googleKeyUploadHint:\n \"Select and upload the Google Storage key file that you retrieved from your Google account.\",\n goToAsn: \"Go To ASN\",\n goToPrefixOrIp: \"Go To prefix or ip\",\n goToReports: \"Go To Reports\",\n goToTopology: \"Go to Topology\",\n gracefulRestart: \"Graceful Restart\",\n gracefulRestartFor: \"Graceful restart for {af}\",\n graphs: \"Graphs\",\n grid: \"Grid\",\n group: \"Group\",\n groupedByThingFmt: \"Grouped By {thing}\",\n groups: \"Groups\",\n groupTags: \"Group Tags\",\n gs: \"Google storage\",\n gsDescription:\n \"Configure a notification, such as an alarm, to be sent to a Google Storage Service account.\",\n hardware: \"Hardware\",\n hardwareAnchoredSecureBootDetails:\n 'Device supports Secure Boot controls anchored to hardware Root-of-Trust within embedded Trust Anchor Module(s). Provides additional hardening and protection from \"boot-kit\" attacks.',\n hardwareanchoredsecurestorageDetails:\n \"The IOS XR operating system supports a secure, encrypted storage facility for secrets such as cryptographic keys. Encrypted volume is unlocked with key stored within tamper-resistant hardware Trust Anchor Module(s).\",\n hardwareChanges: \"Hardware Changes\",\n hardwareDetailsUnknown: \"There are no hardware details for this device\",\n hardwareIntegrityRuleSubtitle:\n \"Indicate the number of Cisco IOS XR validation failures required to trigger a notification.\",\n hardwareIntegrityValidation: \"Hardware Integrity Validation\",\n hardwareIntegrityValidationDescription:\n \"Detects a hardware integrity validation failure on a Cisco IOS XR device.\",\n hardwareIntegrityValidationFailure: \"Hardware Integrity Validation Failure\",\n hardwareName: \"Hardware Name\",\n hardwareSearch: \"Hardware Search\",\n hardwareSearchHint: \"You must enter at least 3 characters to search\",\n hardwareTrustAnchorModuleTAmDetails:\n \"Tamper-resistant hardware Trust Anchor Module (TAm) to enable advanced cryptographic capabilities, and hardware Root-of-Trust.\",\n hardwareType: \"Hardware Type\",\n hardwareValidation: \"Hardware Validation\",\n hardwareValidationDescription:\n \"Trust Insights will validate hardware measurements against known-good-values. This includes hardware authenticity validation and cryptographic validation of component serial and part numbers.\",\n hardwareVersion: \"Hardware Revision\",\n hash: \"Hash\",\n hashChangeDetectedAt: \"Hash change detected at \",\n hashCollectionHint:\n \"No configuration will be stored, only a hash to monitor changes\",\n hashCollectionFrequencyHint: \"Minimum collection frequency is 20 minutes\",\n hashCollectionMismatchMessage1: \"The stored hash does\",\n hashCollectionMismatchMessage2:\n \"the hash reported by the system. This indicates the device configuration has changed.\",\n hashCollectionMismatchWarning:\n \"WARNING: A device configuration change has been detected. Investigate further or click \",\n hashCollectionMismatchWarning2:\n \" to view the old and new commit IDs associated with the old and new configuration hashes reported by the system.\",\n hashCommitID: \"Hash Commit ID\",\n hashesSeen: \"Hashes Seen\",\n hashMatches: \"Hash Matches\",\n haState: \"HA State\",\n haveCCOAccount: \"Have a CCO Account\",\n haveCCOAccountDescription:\n \"if you need to sign up for a new CCO account. Once your CCO account has been activated, please return to this page.\",\n health: \"Health\",\n healthy: \"Healthy\",\n help: \"Help\",\n helpDocs: \"Application Help\",\n helpSupport: \"Help & Support\",\n helpWithPurchasing: \"Help with Purchasing\",\n helpWithThisPage: \"Help with this page\",\n here: \"here\",\n hide: \"HIDE\",\n high: \"High\",\n highDescription:\n \"One or more device interfaces are between 50% and 80% utilization\",\n highEntropyRNGDetails:\n \"Advanced hardware support for high-quality random number generation using hardware based entropy sources. Requires hardware Trust Anchor Module support. \",\n history: \"History\",\n home: \"Home\",\n hostKeyMismatchMsg:\n \"The host key for this device has changed and needs to be accepted to permit the device to collect a dossier\",\n hostname: \"Hostname\",\n hour: \"Hour\",\n hour12: \"12 Hour\",\n hour24: \"24 Hour\",\n hourDown: \"Hour Down\",\n hourly: \"Hourly\",\n hours: \"Hours\",\n hourUp: \"Hour Up\",\n hoverChartNodes: \"Hover over sections for more details\",\n howLong: \"How Long?\",\n id: \"ID\",\n ignore: \"Ignore\",\n ignored: \"Ignored\",\n ignoredDevices: \"Ignored Devices\",\n ignoredDevicesDescription: \"List of devices this policy ignores.\",\n ignoredDevicesDescriptionEditMode:\n \"Update list of devices this policy ignores.\",\n ignoredDevicesForRuleDescription:\n \"The devices listed below are no longer opted in to collect a hash and consequently will not trigger an alarm when the configuration changes.\",\n ignoredDevicesForRuleDescriptionEditMode:\n \"Update list of devices this rule ignores\",\n ignoreDevice: \"Ignore Device\",\n ignoredGateway: \"Ignored Gateways\",\n ignoredGatewayDescription: \"List of gateways this policy ignores.\",\n ignoredGatewayDescriptionEditMode:\n \"Update the list of gateways this policy ignores.\",\n ignoreGateway: \"Ignore Gateway\",\n ignorePrefix: \"Ignore Prefix\",\n immutableEvidenceChain: \"Immutable Evidence Chain\",\n immutableEvidenceChainDescription:\n \"Trust Insights records trusted measurements to enable an effective audit trail. Integrity and reporting data cannot be modified after collection and validation.\",\n importDevicesRequestProcessing:\n \"Please wait. Import devices request is in progress\",\n importExport: \"Import / Export\",\n importingDevices: \"Importing Devices\",\n importInProgress: \"Import In Progress\",\n importNewDeviceCount: \"New ({count})\",\n importPeersFromBgpMon: \"Import Peers from BGPMon\",\n importRequestProcessing: \"This import should complete within 30 seconds.\",\n importRequestSent: \"Import Request Sent\",\n importUpdateDeviceCount: \"Modified ({count})\",\n inactive: \"Inactive\",\n incompatibleBrowser: \"Incompatible Browser\",\n incrementSize: \"Increment Size\",\n indefinitely: \"Indefinitely\",\n initialSetupASNPrefix: \"Initial Setup of ASN and Prefix Tracking\",\n injestingTrafficData: \"Ingesting Traffic Data\",\n inputASN: \"Input ASN Number\",\n insights: \"Insights\",\n insightsCompare: \"Device Comparison\",\n insightsCompareDescription:\n \"These tasks allow you to compare devices and provide steps to resolve any differences.\",\n insightsCompareHeader: \"Compare Devices\",\n insightsCompareSelectDescription:\n \"Find and select the device you would like to use as the base for comparision.\",\n insightsCompareSubtitle: \"Compare device software and hardware\",\n instanceIdentifier:\n \"This name is used to identify your instance of Crosswork Cloud.\",\n int32: \"int32\",\n int64: \"int64\",\n integerUptoTenChars: \"Must be an integer and 10 characters or less\",\n intentBasedPolicies: \"Intent Based Policies\",\n intentBasedPoliciesDescription:\n \"View policies created with a metric objective.\",\n interestedInProducts: \"Interested in {products}\\n\\n\",\n interface: \"Interface\",\n interfaceRxTraffic: \"Interface Rx Traffic\",\n interfaceTxTraffic: \"Interface Tx Traffic\",\n interfaceCapacity: \"Interface Capacity\",\n interfaceJumboPrefixAlarmDescription:\n \"Receive alerts when a prefix is using more bandwidth than an expected user set threshold.\",\n interfaceMonitored: \"Interface Monitored\",\n interfaceName: \"Interface Name\",\n interfacePolicyAssociationWarning:\n \"Monitored interfaces can only be associated with a single policy. If you choose to continue, any existing interface associations with previous policies will be removed.\",\n interfacePolicyLinkRemoved: \"Removed Interfaces linked with Policy\",\n interfacePolicySuccess: \"Interfaces linked with Policy successfully \",\n interfaces: \"Interfaces\",\n interfaceSaved: \"Interface Saved\",\n interfaceStatus: \"Interface Status\",\n interfaceTag: \"Interface Tag\",\n interfaceTags: \"Interface Tags\",\n interfaceThresholdRxAlarmDescription:\n \"Receive alerts when your received traffic crosses either a high or low user set threshold.\",\n interfaceThresholdTxAlarmDescription:\n \"Receive alerts when your transmission traffic crosses either a high or low user set threshold.\",\n interfaceTrafficAnalysis: \"Interface Traffic Analysis\",\n interfaceTrafficAnalysisDescription: \"\",\n interfaceTrafficGroupAnalysis: \"Interface Traffic Group Analysis\",\n interfaceTrafficGroupAnalysisDescription: \"\",\n interfaceType: \"Interface Type\",\n interfaceTypeUpdate: \"Interface(s) updated successfully.\",\n interfaceUtilization: \"Interface {type} Utilization\",\n interfaceUtilizationDescription:\n \"Use the slider to indicate the minimum and maximum percentage of capacity expected to pass through an interface.\",\n interfaceWithCount: \"Interface {count}\",\n intermediateHop: \"Intermediate Hop\",\n internal: \"Internal\",\n internalRouteAnalysis: \"Internal Route Analysis\",\n internalRouteComingSoon:\n \"We are working hard to release enhanced functionality and features to help you monitor routing changes in your internal network and alert you to unintentional changes.\",\n internalRoutingAnalytics: \"Internal Routing Analytics\",\n internalRoutingAnalyticsDescription:\n \"Free tier of External Routing Analytics included with Essentials license for Traffic Analysis.\",\n invalid: \"Invalid\",\n invalidASN: \"Invalid ASN\",\n invalidAsnOrPrefixOrIP: \"Invalid ASN, Prefix or IP\",\n invalidAsns: \"Invalid ASN(s) : {errorListValues}\",\n invalidASPaths: \"Invalid ASPath/s : \",\n invalidCharacters: \"Some characters are not valid for this input\",\n invalidCharsAtStartOrEnd: \"Name must not start or end with: -_+/@.&\",\n invalidCirMultipleValue: \"The rate must be a multiple of 1000,000\",\n invalidCirValue:\n \"The rate must be higher or equal to 10 Mbps and lower or equal to the physical maximum\",\n invalidConfirmation: \"Invalid Confirmation Link\",\n invalidCountryCode: \"Must be a valid calling code (1-999)\",\n invalidData: \"Invalid data\",\n invalidDateRange: \"Invalid Date Range\",\n invalidEmail: \"Invalid email address\",\n invalidExternalAsn: \"Invalid External ASN\",\n invalidExternalAsnDesc:\n \"This ASN is not valid for external routing analysis\",\n invalidExternalPrefix: \"Invalid External Prefix\",\n invalidExternalPrefixDesc:\n \"This prefix is not valid for external routing analysis\",\n invalidHostIpv4: \"Must be a valid host IP address\",\n invalidHostname: \"Invalid hostname\",\n invalidInteger: \"Must be a whole number\",\n invalidIp: \"Must be a valid IP address\",\n invalidIPaddresses: \"Invalid IP Address/es : {errorListValues}\",\n invalidIpOrDomain: \"Must be a valid domain name or IPv4 address\",\n invalidIPv4IPv6: \"Invalid IPV4/IPV6 address\",\n invalidIPv4Length: \"Ex: 12,6,32. Max value 32\",\n invalidIPv6Length: \"Ex: 12,99,128. Max value 128\",\n invalidLatitudeValue: \"Invalid Latitude value\",\n invalidLongitudeValue: \"Invalid Longitude value\",\n invalidMed: \"Invalid MED value\",\n invalidMedList: \"Invalid MED value(s) : {errorListValues}\",\n invalidMicrosoftTeamsWebhook:\n \"Invalid Webhook. Create an Incoming Webhook in Microsoft Teams\",\n invalidName: \"Invalid character(s) : {errorListValues}\",\n invalidNameLength: \"Name must be between 3-120 characters long.\",\n invalidNumber: \"Must be a number\",\n invalidPeerId: \"Invalid Peer ID\",\n invalidPeerIds: \"Invalid Peer ID/s : {errorListValues}\",\n invalidPeerValue: \"Invalid Peer Value\",\n invalidPhone: \"Invalid phone number, must be 8-20 digits\",\n invalidPortNumber: \"Port number must be between 1 and 65535\",\n invalidPositiveNumber: \"Must be a positive number\",\n invalidPrefix: \"Invalid Prefix\",\n invalidPrefixOrAsn: \"Invalid Prefix or ASN\",\n invalidRange: \"Must be between {min} and {max}\",\n invalidRegex: \"Invalid Regex\",\n invalidRequest: \"Invalid Request\",\n invalidResponseFromServer: \"Invalid Response from Server\",\n invalidROAMaxLength: \"ROA Max length must be equal to or between 1 and 128\",\n invalidRPSL: \"Invalid RPSL\",\n invalidS3Id: \"Must be between 16 and 128 characters\",\n invalidS3Secret: \"Must be base64 encoded secret\",\n invalidSignature: \"Invalid Signature\",\n invalidSlackWebhook: \"Invalid Webhook. Create an Incoming Webhook in Slack\",\n invalidSpecialCharacters: \"Can not contain special characters: \\\", ', `\",\n invalidSubmitDesc: \"This issue is preventing you from saving\",\n invalidSubmitDescPlural: \"These issues are preventing you from saving\",\n invalidSubmitTitle: \"Unable to {action}\",\n invalidSubscriptions: \"Invalid subscriptions\",\n invalidTelemetryPort:\n \"Port number must be greater than 1024 and less than 65535\",\n invalidWebexWebhook: \"Invalid Webhook. Create an Incoming Webhook in Webex\",\n inventory: \"Inventory\",\n inventoryReporting: \"Inventory Reporting\",\n iosXRVersion: \"IOS XR Version\",\n ip: \"IP\",\n ipAddress: \"IP Address\",\n ipAddresses: \"IP Addresses\",\n ipfix: \"IP Fix\",\n ipfixDescription: \"\",\n ips: \"IPs\",\n ipV4: \"IPv4\",\n ipv4Address: \"IPv4 Address\",\n ipv4Length: \"IPv4 Length\",\n ipv4PrefixChanges: \"IPv4 Prefix Changes\",\n ipv4PrefixesToBeAdvertised: \"IPv4 Prefixes To Be Advertised\",\n ipv4Unicast: \"IPv4 Unicast\",\n ipv4UnicastMax: \"IPv4 Unicast Max\",\n ipv4UnicastMin: \"IPv4 Unicast Min\",\n ipV6: \"IPv6\",\n ipv6Address: \"IPv6 Address\",\n ipv6Length: \"IPv6 Length\",\n ipv6PrefixChanges: \"IPv6 Prefix Changes\",\n ipv6PrefixesToBeAdvertised: \"IPv6 Prefixes To Be Advertised\",\n ipv6Unicast: \"IPv6 Unicast\",\n ipv6UnicastMax: \"IPv6 Unicast Max\",\n ipv6UnicastMin: \"IPv6 Unicast Min\",\n irrRpsl: \"IRR / RPSL\",\n issueDate: \"Issue Date\",\n issuer: \"Issuer\",\n isVerified: \"Is Verified\",\n item: \"item\",\n items: \"items\",\n jflow: \"J-Flow\",\n jflowDescription: \"\",\n jobTitle: \"Job Title\",\n joinTheCommunity: \"Join The Community\",\n jsonConfigFile: \"Upload Config File\",\n justNow: \"Just now\",\n key: \"Key\",\n keyFunctionalitiesInclude: \"Key functionalities include:\",\n keyId: \"Key Id\",\n keys: \"Keys\",\n keysDeleteConfm: \"API Key(s) removed\",\n kgf: \"Known-Good Files\",\n kgfBulkManage: \"Selected operation will be applied to \",\n kgfCollection: \"Global Known-Good File Collections\",\n kgfDeleteMsg:\n \"The selected {count} files will be removed from your known-good list.\",\n kgfSubHeader:\n \"Known-good file collections previously imported from devices\",\n kgvForPackage: \"Known Good Values For Package\",\n kgvHash: \"KGV Hash\",\n kgvRelease: \"KGV Release\",\n knownCiscoRelease: \"Known Cisco Release\",\n knownGoodFiles: \"Known Good Files\",\n knownGoodValuePackage: \"Known Good Value Packages\",\n knownGoodValuesHash: \"Known Good Values Hash\",\n knownHash: \"Known Hash\",\n knownRelease: \"Known Release\",\n labRouter: \"Lab Router\",\n large: \"Large\",\n last: \"Last\",\n lastActiveAlarm: \"Last Active Alarm\",\n lastCollection: \"Last Collection\",\n lastCollectionAttempt: \"Last Collection Attempt\",\n lastConnectionLoss: \"Lost {type} Connection Timestamp\",\n lastDossierStatus: \"Last Dossier Status\",\n lastErrorDossier: \"Last Error Dossier\",\n lastLogin: \"Last Login\",\n lastLoginDate: \"Last Login Date\",\n lastModified: \"Last Modified\",\n lastModifiedOnByFmt: \"Last modified by {by} on {at} \",\n lastName: \"Last Name\",\n lastReset: \"Time Since Last Reset\",\n lastResetReason: \"Last Reset Reason\",\n lastRun: \"Last Run\",\n lastScan: \"Last Scan\",\n lastSeen: \"Last Seen\",\n lastSuccessfulCollection: \"Last Successful Collection\",\n lastSuccessfulDossier: \"Last Successful Dossier\",\n lastValidation: \"Last Validation\",\n lastValidationAttempt: \"Last Validation Attempt\",\n lastUpdate: \"Last Update\",\n lastUpdated: \"Last Updated\",\n lastUserAction: \"Last User Action\",\n lastXDataFmt: \"Last {x} Data\",\n latitude: \"Latitude\",\n launch: \"Launch\",\n launchAWS: \"Launch AWS\",\n launchDownloadSite: \"Launch Download Site\",\n launchFindFile: \"Launch Find Files\",\n launchKgf: \"Launch Known Good Files\",\n learnMore: \"Learn More\",\n legacyDocumentation: \"Legacy Documentation\",\n legacyPeer: \"Legacy Peer\",\n legend: \"legend\",\n license: \"License\",\n licenseDescription: \"License Description\",\n licenses: \" {license} Licenses\",\n licenseTier: \"License Tier\",\n licenseType: \"License Type\",\n licensing: \"Licensing\",\n lineCard: \"Line Card\",\n linkAsns: \"Link ASNs\",\n linkCredentialGroupDescription:\n \"Link this credential group to the selected devices. Any previously assigned credential groups will be overwritten\",\n linkDevices: \"Link Devices\",\n linkDevicesModalSubTitle:\n \"Link this credential group to the selected devices. Any previously assigned credential groups of the same type will be overwritten.\",\n linkDevicesToGroupModalSubTitle:\n \"Select the device(s) to link to the device group. This action overwrites any previously assigned device groups.\",\n linkedDataGateway: \"Linked Data Gateway\",\n linkedDevices: \"Linked Devices\",\n linkedPolicy: \"Linked Policy\",\n linkedTrafficDevices: \"Linked Traffic Devices\",\n linkedTrustDevices: \"Linked Trust Devices\",\n linkEndpointToRule: \"Link Endpoint to Rule\",\n linkFlowDeviceDescription:\n \"Link this Data Gateway to the selected Traffic Analytics enabled devices. Only devices capable of linking to a Traffic Analysis CDG appear.\",\n linkPeers: \"Link Peers\",\n linkPeersDesc:\n \"Select the peers you wish to link to this policy. If a peer is already linked to a different policy that connection will be overwritten.\",\n linkPolicy: \"Link Policy\",\n linkPrefixes: \"Link Prefixes\",\n partialFailureError:\n \"Partial failure occurred while completing the last action. Please select items and try again.\",\n linkPrefixesDesc:\n \"Select the prefixes you wish to link to this policy. If a prefix is already linked to a different policy that connection will be overwritten.\",\n linkPrefixesSuccess: \"Prefix(es) linked successfully.\",\n linkRules: \"Link Rules\",\n linkTrafficDevices: \"Link Traffic Devices\",\n linkTrustDeviceDescription:\n \"Link this Data Gateway to the selected Trust Insights-enabled devices. Only devices capable of linking to a Trust CDG appear.\",\n linkTrustDevices: \"Link Trust Devices\",\n linkType: \"Save & Link {type}\",\n loadBalancingEqualShare: \"Load Balance - Equal Share\",\n loadBalancingEqualShareDescription: \"\",\n loadBalancingUnEqualShare: \"Load Balance - Unequal Share\",\n loadBalancingUnEqualShareDescription: \"\",\n loading: \"Loading\",\n loadingAsName: \"Loading AS Name...\",\n location: \"Location\",\n login: \"Login\",\n loginForm: \"Login Form\",\n loginMessage1: \"Enter your cisco.com credentials.\",\n loginMessage2: \"Forgotten your password? \",\n loginMessage3: \"Create an Account? \",\n longitude: \"Longitude\",\n lookingGlass: \"Looking Glass\",\n lossOfConnection: \"Lost {type} Connection\",\n lossOfConnectionTrafficDescription:\n \"Select the severity of the alarm when a {type} loses SNMP or BGP Connection. \",\n lossOfConnectionTrustDescription:\n \"Select the severity of the alarm when a {type} loses SSH Connection.\",\n low: \"Low\",\n macAddress: \"MAC Address\",\n makeEdits: \"Make Edits\",\n malformedNetflow: \"Malformed Netflow\",\n manage: \"Manage\",\n manageAlarms: \"Manage Alarms\",\n managedDevices: \"Devices managed by this policy\",\n manageDevices: \"Manage Devices\",\n managedGateway: \"Gateways managed by this policy\",\n manageExistingPeerDevices: \"Manage Existing Peer Devices\",\n manageExistingPeerDevicesDescription:\n \"Import and edit preexisting device peers.\",\n manageInterfaces: \"Manage Interfaces\",\n manageKGF: \"Manage Files\",\n management: \"Management\",\n manual: \"Manual\",\n manufacturer: \"Manufacturer\",\n manufacturerName: \"Manufacturer Name\",\n map: \"Map\",\n markKnown: \"Mark Known\",\n markKnownModalContent:\n \"These selected files will be added to the Known Good List. We will no longer alert you about these files on any collection made on any device in your organization. In order to reverse this action you will need to find and remove them in the Known Good Files feature.\",\n markUnknown: \"Mark Unknown\",\n massDeviceEditPageCaption:\n \"All entered values will overwrite existing values on the selected devices.\",\n massDeviceEditRequestProcessing:\n \"Please wait. Device edit request is in progress\",\n massDeviceEditReviewCaption:\n \"These devices will have the following values applied. All values in these columns will be overwritten as shown.\",\n massDeviceEditSuccess: \"Device(s) updated successfully.\",\n massEditDisableTooltip: \"You can edit up to 50 devices in one operation\",\n massUserDeleteSuccess: \"User(s) removed successfully\",\n massUserEditPageCaption:\n \"All entered values will overwrite existing values on the selected users.\",\n massUserEditRequestProcessing:\n \"Please wait. User edit request is in progress\",\n massUserEditReviewCaption:\n \"These users will have the following values applied. All values in these columns will be overwritten as shown.\",\n massUserEditSuccess: \"User(s) updated successfully.\",\n match: \"Match\",\n matched: \"Matched\",\n matchingPackagesSubheader:\n 'Packages matching \"{searchString}\" on {deviceName}',\n max: \"Max\",\n maximumLength: \"Maximum Length\",\n maximumPrefixLimitReached:\n \"Exceeds maximum prefix limit. To proceed, please deselect {exceedingBy} prefixes.\",\n maxIpv4PrefixLength: \"Max IPv4 Length\",\n maxIPv4Validation: \"Must be > IPv4 Unicast Min\",\n maxIpv6PrefixLength: \"Max IPv6 Length\",\n maxIPv6Validation: \"Must be > IPv6 Unicast Min\",\n maxLength: \"Must be {max} characters or less\",\n maxLengthLabel: \"Max Length\",\n maxLimitReached:\n \"Reached limit of {limit}. Please adjust filter to narrow the results\",\n maxNumberPrefixes: \"Max Number Prefixes\",\n maxPathLength: \"Max Path Length\",\n maxPeerCountValidation: \"Must be > Resolve\",\n maxPeers: \"Peers to Trigger\",\n maxValue: \"Max value can be {max}\",\n maxValueHint: \"Must be ≤ {max}\",\n MD5: \"MD5\",\n MED: \"MED\",\n med: \"Med\",\n medium: \"Medium\",\n megabitPerSecond: \"Mbps\",\n mem: \"Memory\",\n memberOf: \"Member Of\",\n memoryInPercent: \"Memory in %\",\n memoryUsage: \"Memory Usage\",\n message: \"Message\",\n methods: {\n delete: \"DELETE\",\n get: \"GET\",\n invalid: \"invalid\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\"\n },\n methodType: \"Method Type\",\n migrationInProgress: \"Migration is in progress\",\n migrationLinkExpired:\n \"Migration was canceled or the confirmation link has expired.\",\n min: \"Min\",\n mine: \"Mine\",\n minimum8Characters: \"Minimum of 8 characters\",\n minimumLength: \"Minimum Length\",\n minLength: \"Must be {min} characters or more\",\n minNumberPrefixes: \"Min Number Prefixes\",\n minPathLength: \"Min Path Length\",\n minPeerCountValidation: \"Must be ≥ 0\",\n minPeers: \"Peers to Resolve\",\n minute: \"Minute\",\n minuteDown: \"Minute Down\",\n minutes: \"Minutes\",\n minuteUp: \"Minute Up\",\n minValueHint: \"Must be ≥ {min}\",\n mismatch: \"Mismatch\",\n mismatchChangesDetected: \"Mismatch and changes detected\",\n mismatched: \"Mismatched\",\n mismatchedFiles: \"Mismatched Files\",\n mismatchedFilesDescription:\n \"Detects files with signatures that do not match known Cisco IOS XR artifacts of user defined Known Good Values (KGV).\",\n mismatchFilesNotFound:\n \"There are no mismatched or changed files detected for this device\",\n mismatchKnownUnknown:\n \"This file has been validated by Cisco on {date}. It is no longer considered unknown and will not be flagged in the future.\",\n mismatchStatus: \"Mismatch Status\",\n missing: \"Missing\",\n missingBgpFeed: \"Missing BGP Feed\",\n missingFeatures:\n \"You can upgrade your subscription tier to view additional features. For more information about purchasing please go \",\n missingGateway: \"[Missing Gateway Name]\",\n missingInterface: \"[Missing Interface Name]\",\n missingLookbackType:\n \"You can upgrade your subscription tier to view additional {type} data. For more information about purchasing please go \",\n missingLookbackTypes:\n \"You can upgrade your subscription tier to view additional {type}. For more information about purchasing please go \",\n missingPrefix: \"[Missing Prefix]\",\n missingROA: \"Missing ROA\",\n missingRPSL: \"Missing RPSL\",\n missingSnmpFeed: \"Missing SNMP Feed\",\n mix: \"mix\",\n mode: \"Mode\",\n model: \"Model\",\n modification: \"Modification\",\n modified: \"Modified\",\n modify: \"Modify\",\n modifyDevices: \"Modify Devices\",\n modifyGateways: \"Modify Gateways\",\n modifyingPeers: \"Modifying Peers\",\n modifyingPrefixes: \"Modifying Prefixes\",\n modifySearch: \"Modify Search Criteria\",\n mon: \"Mon\",\n monitor: \"Monitor\",\n monitorAsns: \"Monitor ASNs\",\n monitorAsnSuccess: \"ASN(s) monitored successfully.\",\n monitorDevice: \"Monitor Device\",\n monitored: \"Monitored\",\n monitoredASN: \"Monitor ASN\",\n monitoredDevices: \"Monitored Devices\",\n monitoredDnsRootServers: \"Monitored DNS Root Servers\",\n monitoredGateway: \"Monitored Gateways\",\n monitorGateway: \"Monitor Gateway\",\n monitorSave: \"Monitor ASN & Save\",\n month: \"Month\",\n monthly: \"Monthly\",\n months: \"Months\",\n more: \" + {count} more\",\n moreInformation: \"More Information\",\n moreInformationTiers: \"More information on tier offerings can be found \",\n moreRecords: \" more...\",\n moreThan500: \"500+\",\n mostRecentConnectivityStatus: \"Most Recent Connectivity Status\",\n mostRecentStatus: \"Most Recent Status\",\n moveControl1: \"Move Control 1\",\n moveControl2: \"Moved Control 2\",\n multiAsnEntry: \"Enter one or more AS numbers separated by commas.\",\n multiTrafficInstructions:\n \"Click and drag bars to modify data summary. Double click to clear selection\",\n multiVendor: \"Multi Vendor\",\n multiVendorDescription: \"\",\n must: \"must\",\n mustBeNumber: \"Must be a number\",\n mustBePositive: \"Must be a number ≥ 0\",\n myPeer: \"My Peer\",\n myPeerCount: \"My Peer Count\",\n myPeers: \"My Peers\",\n mySettings: \"My Settings\",\n mySubscriptions: \"My Subscriptions\",\n na: \"n/a\",\n name: \"Name\",\n navigateToCredential: \"- Credentials (Configure > Credentials)\",\n navigateToDataGateway: \"- Data Gateways (Configure > Data Gateways)\",\n navigateToDeviceGroups: \"- Device Groups (Configure > Device Groups)\",\n needed: \"Needed\",\n needMoreHelp: \"Need more help?\",\n needMoreHelpDescription:\n \"For help with AWS purchases, please contact support through email at \",\n needsAttention: \"Needs Attention\",\n needToCreateCCOAccount: \"New to Crosswork Cloud? Create a CCO Account \",\n needToCreateCCOAccount2:\n \"New to Crosswork Cloud or coming from BGPMon? Sign up for Crosswork Cloud \",\n netBlock: \"NetBlock\",\n netflowDescription: \"\",\n netflowGetHelp:\n \"If green check boxes appear next to all items, indicating setup is complete, and you continue to experience issues, please contact us at \",\n netflowSampler: \"Netflow Sampler\",\n netflowSourceAddress: \"Netflow Source Address\",\n netflowv5v9: \"Netflow v5,v9\",\n netName: \"NetName\",\n netstreamSwitch: \"Netstream Mapping\",\n netstreamSwitchNote:\n \"Note: This setting enables Netstream ifIndex mapping for 3rd party Devices only.\",\n network: \"Network\",\n networkDevice: \"Network Device\",\n networkDeviceChanges: \"Network Device Changes\",\n networkFlow: \"Network Flow\",\n networkInsights: \"Network Insights\",\n networkInsightsTier: \"Network Insights - External Route Analysis {tier}\",\n networkInterfaces: \"Network Interfaces\",\n never: \"Never\",\n new: \"New\",\n newAccountRequest: \"New Account Request\",\n newAsPathEdgeDescription:\n \"Detects unexpected AS path changes due to transient BGP AS relationships.\",\n newDownstreamAsPeers: \"New Downstream AS Peers\",\n newEndpoint: \"New Endpoint\",\n newFile: \"New File\",\n newFrequency: \"New Frequency\",\n newHashTimestamp: \"New Hash Timestamp\",\n newKeyCreated: \"New Key Created\",\n newKeyDescription:\n \"This is your API Key. It will only be displayed this one time. A new key will have to be created if this key is lost.\",\n newPassword: \"New Password\",\n newPeerings: \"New Peerings\",\n newPolicy: \"New Policy\",\n newPrefixCount: \"New Prefix Counts\",\n newSHAFingerprint: \"New SHA 1 Fingerprint\",\n newSHATimestamp: \"New SHA 1 Timestamp\",\n newState: \"New State\",\n newStatus: \"New Status\",\n newTags: \"New Tags\",\n newToCrossworkCloudMessage:\n \"New to Crosswork Cloud? Sign up for a FREE account\",\n newTokenCreated: \"New Token Created\",\n newTypeEndpoint: \"New {type} Endpoint\",\n newUpstreamAsPeers: \"New Upstream AS Peers\",\n newXRCommitID: \"New XR Commit ID\",\n nextDevice: \"Next Device\",\n nextMonth: \"Next Month\",\n nextPage: \"Next Page\",\n nextScheduledCollection: \"Next Scheduled Collection\",\n nextScheduledRun: \"Next Scheduled Run\",\n nextSteps: \"Next Steps\",\n niNotLicensed:\n \"Provides enhanced functionality and features for the hardware and software running in your network. Click Request Trial below to try External Routing Analysis for a trial period\",\n niServiceName: \"Network Insights - External Route Analysis\",\n no: \"No\",\n noActiveAlarms: \"No Active Alarms\",\n noActiveTrials: \"No Active Trials Found\",\n noAdditionalRules: \"No other rules available\",\n noAsnsSelected: \"No ASNs Selected\",\n noAuthNoPriv: \"noAuthNoPriv\",\n noAvailableTrials: \"No Available Trials Found\",\n noCCOAccount1: \"If you do not have a CCO account, create one \",\n noCCOAccount2: \" and return to this page.\",\n noChanges: \"There are no changes to save\",\n noChangesFound: \"No changes found\",\n node: \"Node\",\n nodeName: \"Node Name\",\n nodes: \"Nodes\",\n noDevicesAvailable: \"No Devices Available\",\n noIgnoredPrefixesDesc:\n \"No prefix balancing recommendations are currently ignored.\",\n noItemsInQueue: \"No Items in Queue\",\n noItemsMatch: \"No items match your search\",\n noKGVData: \"No KGV Data\",\n noMatch: \"Mismatch\",\n none: \"None\",\n nonPeers: \"Non-Peers\",\n nonZeroIntegerUptoTenChars:\n \"Must be a non-zero integer and 10 characters or less\",\n noOfBgpPrefixes: \"# Of BGP Prefixes\",\n noOfInterfaces: \"# Of Interfaces\",\n noPrefixesForProvidedASN: \"No Prefixes found for ASN {asn}\",\n noResponse: \"No response\",\n noResultsFound: \"No results found\",\n noReverse: \"This action can not be reversed.\",\n normal: \"Normal\",\n normalDescription: \"All device interfaces are below 50% utilization\",\n noRPSL: \"No RPSL\",\n northBound: \"North Bound\",\n noDossiersToCompare: \"No Dossier Difference. \",\n noRunningApplicationMsg:\n \"No running application. Link devices to start their respective applications.\",\n noSelectedTrustDevices: \"Selected device(s) are not Trust devices\",\n noSpecial: \"No special characters allowed\",\n notAfter: \"Not After\",\n notApplicable: \"Not applicable\",\n notBefore: \"Not Before\",\n notConnected: \"Not Connected\",\n noTemplate: \"No Template\",\n notes: \"Notes\",\n notesMaxLength: \"Notes cannot exceed than {max} characters.\",\n notesSaved: \"Notes Saved\",\n notFound: \"Not Found\",\n notFoundDesc: \"[404] This page does not exist 😔\",\n notFoundFmt: \"{thing} not found\",\n notificationEndpoints: \"Notification Endpoints\",\n notifications: \"Notifications\",\n notificationSetup: \"Notification Endpoint Setup\",\n notificationSubTitle:\n \"Configure the notifications to send after a rule is triggered.\",\n notificationType: \"Notification Type\",\n noTimeSummaryError: \"Time range not provided in response\",\n notLicensed: \"Not Licensed\",\n notLicensedDetailMsg:\n \"You are currently not licensed to perform this action. Click purchase below to see your upgrade options.\",\n notPresent: \"Not Present\",\n notReachable: \"Not reachable\",\n notSupported: \"Not Supported\",\n notSure: \"Not Sure\",\n noValueFound: \"No value found\",\n noVariationFromKGV: \"No variation from KGV \",\n npus: \"NPUs\",\n null: \"--\",\n numberOfDifferences: \"Number of differences\",\n numberOfFiles: \"Number of files\",\n numberOfInterfaces: \"Number Of Interfaces\",\n numberOfNodes: \"Number of Nodes\",\n numberOfPeers: \"# Peers\",\n numberOfPrefixes: \"Number of Prefixes\",\n numberOfDevices: \"Number of Devices\",\n object: \"Object\",\n observed: \"Observed\",\n observedAsn: \"Observed ASN\",\n observedFailures: \"Observed Failures\",\n observedFiles: \"Observed Files\",\n observedFilesDossierSubHeader:\n \"Select a dossier collection of the files you would like to import\",\n observedFilesOnDeviceSubHeader:\n \"These files were collected from Device {device} at {date} \",\n observedFilesSubHeader:\n \"Select a device to import observed files into the Known Good files signature\",\n observedFilesSubtitle:\n \"Analysis of files seen running on your device from this software package. \",\n observedHash: \"Observed Hash\",\n observedHWComponentsWithSUDI: \"Observed Components with a SUDI\",\n observedMismatchedFiles: \"Observed Mismatched Files\",\n observedPathsNewASEdges: \"Observed Paths with New AS Edges\",\n observedPrefix: \"Observed Prefix\",\n observedRunning: \"Observed Running\",\n observedUnknownFiles: \"Observed Unknown Files\",\n observing: \"Observing\",\n observingPeers: \"Observing Peers\",\n off: \"Off\",\n offline: \"Offline\",\n ofInterfaceUtilization: \"of Interface Utilization\",\n oldSHAFingerprint: \"Old SHA 1 Fingerprint\",\n oldViolationPeerNoData: \"No updates within the past 6 months found.\",\n oldViolationPeerNotShownFmt:\n \"Not displayed: {old} violation peers that have updates older than {numDays} day(s).\",\n oldXRCommitID: \"Last Accepted XR Commit ID\",\n on: \"On\",\n once: \"Once\",\n onDisk: \"Ondisk\",\n onDiskMisMatch: \"Ondisk Mismatch\",\n onDiskHash: \"Ondisk Hash\",\n onDiskRuntime: \"Ondisk & Runtime\",\n oneDay: \"1 Day\",\n oneHour: \"1 Hour\",\n oneMinute: \"1 Minute\",\n oneMonth: \"1 Month\",\n oneWeek: \"1 Week\",\n oneYear: \"1 Year\",\n online: \"Online\",\n onlyAlphaNumeric: \"Only alphanumeric characters\",\n onlySubscribedPrefixes: \"Only subscribed Prefixes\",\n onPolicyName: \"on {policy}\",\n openCase: \"Open a Support Case\",\n openCrossworkCloud: \"Open Crosswork Cloud\",\n operatorStatus: \"Operator Status\",\n optimizationMethod: \"Optimization Method\",\n optimizePeer: \"Optimize Peer\",\n optional: \"Optional\",\n optionalNotificationSetup: \"Optional notification setup\",\n optionTemplates: \"Option Templates\",\n optOut: \"Opt-Out\",\n orderId: \"Order: {order}\",\n organization: \"Organization\",\n orgName: \"Organization Name\",\n orgNameUpdate: \"Update organization and preferences\",\n orgNameUpdateFail: \"Failed Organization update and preferences\",\n orgNameUpdateHint: \"Update your new organization name\",\n orgSetup: \"Enter a name for your organization.\",\n originASN: \"Origin ASN\",\n originASNFilter: \"Origin ASN Filter\",\n originASNs: \"Origin ASNs\",\n originatingPrefixes: \"Originating Prefixes\",\n origins: \"Origins\",\n orLabel: \"or\",\n osType: \"OS Type\",\n osVersion: \"OS Version\",\n other: \"Other\",\n otherIssue: \"Other Issue\",\n otherPeerPaths: \"Other Peer Paths\",\n otherRegion: \"Other Region\",\n outOfCompliance:\n \"You have surpassed the number of {type} supported for your subscription tier. For more information about purchasing please go \",\n outsideUSA: \"Outside USA\",\n overview: \"Overview\",\n owner: \"Owner\",\n p95: \"P95\",\n package: \"Package\",\n packageInsights: \"Package Insights\",\n packageInstallHash: \"Package Install Hash\",\n packageIntegrity: \"Package Integrity\",\n packageIntegrityUnknownBanner:\n \"We can not inspect the integrity of packages with fingerprinting disabled. Enable fingerprinting by following the instructions found \",\n packageIntegrityUnknownTooltip:\n \"With fingerprinting disabled we are not able to fully inspect the integrity of packages. Please enable fingerprinting by following the instructions found \",\n packageMatches: \"Package Matches\",\n packageName: \"Package Name\",\n packageRuntimeHash: \"Package Runtime Hash\",\n packages: \"Packages\",\n packageSearch: \"Package Search\",\n packageSearchHint:\n \"You must enter at least 3 characters to search. You can use operators AND and OR.\",\n packageSignatureAnalysis: \"Package Signature Analysis\",\n packageStatusNoData:\n \"There are no packages detected in uncommitted or deactivated state for this device\",\n packageValidation: \"package validation\",\n packageValidationDescription:\n \"Detects when a software package has an unknown installation or running signature.\",\n packageValidationFailure: \"Package Validation Failure\",\n packageVersion: \"Package Version\",\n pagerDutyDescription:\n \"Configure a notification, such as an alarm, to be sent to a Pager Duty account.\",\n parentAggregateDescription:\n \"Detects when the next most specific prefix gets larger or smaller and indicates when there is a potential impact to a nonadvertised prefix due to a summary prefix change.\",\n parentAggregateDescriptionMyPeers:\n \"Detects when the next most specific prefix gets larger or smaller and indicates when there is a potential impact to a nonadvertised prefix due to a summary prefix change on my peers.\",\n parentRoute: \"Parent Route\",\n partial: \"Partial\",\n partiallyAvailable: \"Partially Available\",\n partiallyDeprecated: \"Partially Deprecated\",\n partialMatch: \"Partial Match\",\n password: \"Password\",\n passwordError: \"Password error\",\n passwordMismatch: \"Password mismatch\",\n past24Hrs: \"Past 24 Hours\",\n path: \"Path\",\n pathLengthSort: \"Path Length Sort\",\n pathParams: \"Path Parameters\",\n pathTopology: \"Path Topology\",\n paused: \"Paused\",\n pausedPrefixes: \"Paused Prefixes\",\n pausedUntil: \"Paused Until\",\n pauseDuration: \"Pause Duration\",\n pausePrefix: \"Pause Prefix\",\n pausePrefixesSuccess: \"Prefix(es) successfully paused.\",\n paymentIssues: \"Payment Issues\",\n paymentSupport: \"Payment Support\",\n paymentSupportSubHeader: \"Please write to us if you have payment issues\",\n payPerUse: \"Pay-Per-Use\",\n pdCardType: \"Platform Dependent Card Type\",\n peak: \"Peak\",\n peer: \"Peer\",\n peerActivatedSuccess:\n \"Your peer has been successfully enabled, but it might take up to 30 minutes for the peer to connect and for data to appear in the system. The peer status remains Unknown until the process completes.\",\n peerAs: \"Peer AS\",\n peerASN: \"Peer ASN\",\n peerCount: \"Peer Count\",\n peerCountry: \"Peer Country\",\n peerDeactivated: \"Peer Disabled successfully\",\n peerDeletedSuccess: \"Peer(s) removed successfully.\",\n peerDeviceBGPUpdateHistory: \"Peer Device BGP Update History\",\n peerDeviceBGPUpdateHistoryDescription:\n \"View relevant peer BGP update details such as peer AS, prefixes, AS routing path, communities path, BGP update type, and so on in a specified timeframe.\",\n peerDeviceDetails: \"Peer Device Details\",\n peerDeviceDetailsDescription:\n \"View device peer details such as peer information, alarms, and related BGP updates.\",\n peerDownDescription:\n \"Detects when the BGP peering session between the Cisco peer and your peer is not in an established state.\",\n peerDownExpected: \"The Peer is expected to be enabled\",\n peerFilter: \"Peer Filter\",\n peerId: \"Peer ID\",\n peerImportAlreadyComplete: \"Import Already Completed\",\n peerImportAlreadyCompleteDetail:\n \"You have already used this confirmation link for an import and your peers should be showing\",\n peerImportProgress: \"Peer Import In Progress\",\n peerImportProgressDetail1:\n \"You previously requested a import from the BGPmon account \",\n peerImportProgressDetail2:\n \". To complete it please click the confirmation link sent to that address or restart your migration below.\",\n peerImportSuccessDetail:\n \"Peers successfully imported from BGPmon account {email}. To edit the imported peers, you must use Crosswork Network Insights.\",\n peerImportSuccessDetail1:\n \"Optionally you can add a policy to your imported peers using the button below. A Peer Policy allows you to setup notifications regarding your peer such as your peer going down.\",\n peerImportSuccessful: \"Peer Import Successful\",\n peeringFeatures: \"Peering Features\",\n peeringState: \"Peering State\",\n peeringType: \"Peering Type\",\n peerIp: \"Peer IP\",\n peerList: \"Peer List\",\n peerMigrationConfirm:\n 'You have requested migration of peers from BGPmon to Network Insights. After the migration completes successfully, the device(s) will appear in the \"Peers\" tab of Network Insights.',\n peerMigrationDetail:\n 'When you click Request, a confirmation email is sent to the BGPmon account you enter if it exists. To complete the transfer, someone must click the approval link within the email. After the transfer is complete, the devices appear in the \"Peers\" tab within Network Insights, and you can activate them for use.',\n peerMigrationRequestSubHeader:\n \"Send request for peer migration to Network Insights\",\n peermon: \"Peermon\",\n peerPolicy: \"Peer Policy\",\n peerProspecting: \"Peer Prospecting\",\n peerProspectingDescription: \"Peer Prospecting Description\",\n peers: \"Peers\",\n peersAdvertising: \"Peers Advertising\",\n peerSavedSuccess: \"Peer(s) saved successfully.\",\n peersIncomplete:\n \"Some peers may not be listed. You can enter them manually\",\n peersWithCount: \"Peers ({count})\",\n peerUnlinkSuccess: \"Peer(s) unlinked form Policy\",\n pending: \"Pending\",\n pendingCerts: \"Certificate Pending\",\n pendingChangesConfirmStep:\n \"Review the pending changes. Click Submit to apply these changes or click Previous to go back and make changes.\",\n pendingFindPrefixMatch: \"Attempting to find prefix\",\n percent: \"%\",\n periodic: \"Periodic\",\n permanentlyRemoved: \"Permanently Removed\",\n permissionDenied: \"Permission Denied\",\n permittedDevices: \"Permitted Devices\",\n permittedPrefixes: \"Permitted Prefixes\",\n phone: \"Phone\",\n phoneNumber: \"Phone Number\",\n physicalMem: \"Physical Memory\",\n piCardType: \"Platform Independent Card Type\",\n platform: \"Platform\",\n platformAsr9000: \"ASR 9000v\",\n platformNcs540L: \"NCS 540 (LNT)\",\n platformNcs8000: \"8000 Series\",\n pleaseDoOneOfTheFollowing: \"Please do one of the following:\",\n pluggableOptics: \"Pluggable Optics\",\n plusNMore: \"+ {n} more…\",\n policies: \"Policies\",\n policiesDeleted: \"Policies removed successfully\",\n policiesToCreate: \"Policies to Create \",\n policiesWithCount: \"Policies ({count})\",\n policy: \"Policy\",\n policyAssociationRemoveConfirm:\n \"{policy} association with {type} {value} will be removed. There might be other alarms in this policy. Are you sure ?\",\n policyCloned: \"Policy Duplicated\",\n policyCreated: \"Policy Created\",\n policyDataSubheader: \"Data included in this policy\",\n policyDeleted: \"Policy removed successfully\",\n policyDevicesSubtitle: \"Devices attached to this Policy\",\n policyDonut: \"Policy\",\n policyInterfacesSubtitle: \"Interfaces attached to this Policy\",\n policyName: \"Policy Name\",\n policyNotCloned: \"Policy was not duplicated\",\n policyNotDeleted: \"Policy was not deleted\",\n policyNotificationEndpoints: \"Policy Notification Endpoints\",\n policyProgressSaved: \"Policy Progress Saved\",\n policySaved: \"Policy Saved\",\n policyToAdd: \"Select Policy Type to Add\",\n policyType: \"Policy Type\",\n policyTypeDescription: \"Select the policy type\",\n policyTypeToAdd: \"Select a policy type to add.\",\n policyUnlinked: \"Policy Unlinked\",\n policyUpdated: \"Policy Updated with new Upstream ASN(s)\",\n policyViolationNotifcation: \"Optional Policy Violation Notifications\",\n policyViolationsOccurring: \"Policy violations occurring now\",\n polling: \"Polling\",\n pollingInterval: \"Polling Interval\",\n port: \"Port\",\n postAcceptTerms: \" of the Cisco Cloud Offer.\",\n preAcceptTerms: \"I accept the \",\n preDataGatewayInstallerText:\n \"Data shared with the cloud relies on data gathered from Crosswork Data Gateway. You must first install Crosswork Data Gateway before you can start using Trust Insights or Traffic Analysis. You can download latest Cisco Crosswork Data Gateway from the Cisco Software Download site.\",\n prefix: \"Prefix\",\n prefixRxTraffic: \"Prefix Rx Traffic\",\n prefixTxTraffic: \"Prefix Tx Traffic\",\n prefixAddedPolicy: \"Prefix added with policy - {policy}\",\n prefixAdvertisementDescription:\n \"Detects when a prefix is advertised. It can help indicate a route leak or unexpected change for a configured prefix.\",\n prefixAdvertisementDescriptionMyPeers:\n \"Detects when a prefix is advertised on my peers. It can help indicate a route leak or unexpected change for a configured prefix.\",\n prefixAdvertisementExpected: \"This prefix is not expected to be advertised\",\n prefixBGPData: \"Prefix BGP Updates\",\n prefixBGPUpdateHistory: \"Prefix BGP Update History\",\n prefixBGPUpdateHistoryDescription:\n \"View relevant prefix BGP update details such as peer AS, associated AS routing path, communities path, BGP update type, and so on in a specified timeframe.\",\n prefixCentric: \"Prefix Centric\",\n prefixCount: \"# Prefixes\",\n prefixCounts: \"Prefix Counts\",\n prefixDetailDescription:\n \"View Prefix details such as relevant BGP updates, associated alarms, ROAs, RPSL, and so on.\",\n prefixDetails: \"Prefix Details\",\n prefixEditSuccess: \"Prefix updated successfully.\",\n prefixes: \"Prefixes\",\n prefixesAssociated: \"Prefixes Associated with \",\n prefixesEligibleForSetup:\n \"{prefixes} Prefixes Found, {eligiblePrefixes} Eligible for Setup\",\n prefixesFoundNotSubscribed:\n \"{prefixes} Prefixes Found, {notSubscribed} Not Subscribed\",\n prefixesRoutedThroughPeering: \"Prefixes Routed through Peering\",\n prefixesToSubscribe: \"Prefixes to Subscribe \",\n prefixesUploadSuccess: \"Prefix(es) uploaded successfully.\",\n prefixesWithActiveROA: \"Prefixes with Active ROA\",\n prefixesWithCount: \"Prefixes ({count})\",\n prefixesWithExpiringROA: \"Prefixes with Expiring ROA\",\n prefixesWithMissingROA: \"Prefixes with Missing ROA\",\n prefixesWithNoValidRPSL: \"Prefixes with No Valid RPSL\",\n prefixesWithNoWhoisRIR: \"Prefixes with No Whois/RIR\",\n prefixesWithRPSL: \"Prefixes with RPSL\",\n prefixesWithValidROA: \"Prefixes with Valid ROA\",\n prefixesWithValidRPSL: \"Prefixes with Valid RPSL\",\n prefixExpectedROA: \"Expected ROA records\",\n prefixFilter: \"Prefix Filter\",\n prefixIgnored: \"Prefix Ignored\",\n prefixLookingGlass: \"Prefix Looking Glass\",\n prefixLookingGlassDescription:\n \"View Prefix AS peers, AS paths, communities, and last modification timestamps.\",\n prefixMask: \"Prefix Mask\",\n prefixOverview: \"Prefix Overview\",\n prefixPolicy: \"Prefix Policy\",\n prefixPolicyDeleted: \"Prefix Policy Removed\",\n prefixReviewMsg:\n \"Changes will be applied to all prefixes you selected. If you overwrite policies on which there are existing alarms, those alarms are deleted and are not recoverable. Use caution because you cannot undo this operation.\",\n prefixState: \"Prefix State\",\n prefixTag: \"Prefix Tag\",\n prefixTopologyDescription:\n \"Trace the routes of a prefix from origin through destination ASNs\",\n prefixTopologyHistory: \"Prefix Path Topology\",\n prefixTrackingResumed: \"Prefix Tracking Resumed\",\n prefixTrafficAnalysis: \"Prefix Traffic Analysis\",\n prefixTrafficAnalysisDescription: \"\",\n prefixTrafficGroupAnalysis: \"Prefix Traffic Group Analysis\",\n prefixTrafficGroupAnalysisDescription: \"\",\n prefixTrialUsage: \"Prefix Trial Usage\",\n prefixType: \"Prefix Type\",\n prefixUsage: \"Prefix Usage\",\n prefixUtilization: \"Prefix Utilization\",\n prefixUtilizationDescription:\n \"Use the slider to indicate the maximum percentage of total capacity any single prefix can use on the interface\",\n prefixWithdrawalDescription: \"Detects when a peer has withdrawn a prefix.\",\n prefixWithdrawalDescriptionMyPeers:\n \"Detects when my peer has withdrawn a prefix.\",\n prefixWithdrawnExpected: \"This prefix should be advertised\",\n prefixWithdrawnObserved: \"This prefix has been withdrawn\",\n preGenericMissingFeatures: \"There are features you are missing. \",\n premier: \"Premier\",\n premiumAlarms: \"Premium Alarms\",\n presales: \"Presales\",\n previewChanges: \"Preview Changes\",\n previousDevice: \"Previous Device\",\n previousMonth: \"Previous Month\",\n previousPage: \"Previous Page\",\n price: \"Price\",\n privacyProtocol: \"Privacy Protocol\",\n privacyPwd: \"Privacy Password\",\n privacyPwdMismatch: \"Privacy password mismatch\",\n privacyStatement: \"Privacy Statement\",\n privateAsn: \"Private ASN\",\n proceed: \"Proceed\",\n processing: \"Processing\",\n processingBgpUpdates: \"Processing BGP Updates\",\n processIntegrityMeasurementDetails:\n \"IOS XR supports a runtime kernel log of processes executed since boot time. Integrity is measured in unique hashes, which are matched to known-good-values (KGVs) published from the IOS XR Release process.\",\n processIntegrityValidation: \"Process Integrity Validation\",\n processIntegrityValidationDescription:\n \"Where available, Trust Insights validates runtime process signatures against known-good-values collected in the IOS XR build and release process.\",\n processIntegrityValidationDetails:\n \"IOS XR supports a runtime kernel log of processes executed since boot time. Integrity is measured in unique hashes, which are matched to known-good-values (KGVs) from the IOS XR Release process. Validation adds recorded digital signatures when available from signed code artifacts.\",\n productFamily: \"Crosswork Cloud\",\n productFeedback: \"Product Feedback\",\n productFeedbackModalDesc:\n \"We’d like to hear what you think. Please complete the form below and we’ll get back to you as quickly as possible.\",\n productFeedbackModalTitle: \"Submit Product Feedback\",\n products: \"Products\",\n productsOfInterest:\n \"Select the Crosswork Cloud products you are interested in purchasing:\",\n productType: \"Product Type\",\n prohibitedGroup: \"Prohibited Group\",\n prohibitedIpPfxRecordCountMsg:\n \"Only reporting first 1,000 prefixes of {actualCount}\",\n prohibitedIpPrefixDescription:\n \"Detects if a monitored peer has a prohibited prefix in the public IP routing space installed in its RIB or the monitored peer is forwarding it.\",\n project: \"Project\",\n projectTitle: \"Cisco Crosswork Cloud\",\n prospect: \"Prospect\",\n prospectIgnored: \"Prospect Ignored\",\n prospectIncluded: \"Prospect Included\",\n provideFeedback: \"Provide Feedback\",\n provider: \"Provider\",\n providers: {\n oneid: \"OneID\"\n },\n publicExternal: \"Public External\",\n publicKey: \"Public Key\",\n publicKeyFailure: \"Public key failure\",\n punchlist: \"Punchlist\",\n purchase: \"Purchase\",\n purchaseCrossworkCloud: \"Purchase Crosswork Cloud Products\",\n purchaseDate: \"Purchase Date\",\n purchasedSeparately: \" (Must be Purchased Separately)\",\n purchaseHistory: \"Purchase History\",\n purchaseInProgress:\n \"Please check the Licensing page to view latest order status\",\n purchaseNoOrderId: \"No Order Information found\",\n purchaserEmail: \"Purchaser Email\",\n purchaserFirstName: \"Purchaser First Name\",\n purchaserLastName: \"Purchaser Last Name\",\n purchaseSubscription: \"Purchase Subscription\",\n purchaseTrustSubscription1:\n \"In order to claim a Crosswork Trust Insights Voucher from a device, you must first purchase a Trust Insights Essentials Subscription. Please contact \",\n purchaseTrustSubscription2: \" for more information. \",\n purchasingHelp1:\n \"For customers who wish to purchase via AWS Marketplace Payment Services, we support prepaid monthly and annual transactions.\",\n purchasingHelp2:\n \"The AWS Marketplace Payment Service supports both Payment Card transactions as well as AWS Marketplace direct invoicing.\",\n purchasingHelp3:\n \"For customers who wish to purchase directly from Cisco or Partners via traditional channels or where your transaction not permitted via AWS Marketplace, please open a Sales Request below and we will help resolve your questions.\",\n purchasingHelp4:\n \"If there are issues with Payment transactions contact us via Payment Support. \",\n purchasingHelp5:\n \"If you need help to purchase and obtain a subscription ID from Cisco, please click Sales Support.\",\n purchasingSupport: \"Purchasing Support\",\n quality: \"Quality\",\n queryParams: \"Query Parameters\",\n queryPrefix: \"Query Prefix\",\n queue: \"Queue\",\n queueDepth: \"Queue Depth\",\n QueueFull: \"Queue Full\",\n quickSearch: \"Quick Search\",\n rangeHighBps: \"Range High (bps)\",\n rangeLowBps: \"Range Low (bps)\",\n rate: \"Rate\",\n ratio: \"Ratio\",\n reason: \"Reason\",\n receivingNetflow: \"Receiving Netflow\",\n recommendations: \"Recommendations\",\n recommended: \"Recommended\",\n redirect: \"Redirecting...\",\n refresh: \"Refresh\",\n refused: \"Refused\",\n region: \"Region\",\n registrationErrorOccured:\n \"An error occurred while processing registration request.\",\n registrationFile: \"Registration File\",\n relatedThing: \"Related {thing}\",\n release: \"Release\",\n releaseNotes: \"Release Notes\",\n relevantBgpUpdates: \"Relevant BGP Updates\",\n relevantPrefixes: \"Relevant Prefixes\",\n remaining: \"Remaining\",\n remainingExtensions: \"Remaining extensions(\",\n remainingUses: \"Remaining Uses\",\n remove: \"Remove\",\n removing: \"Removing\",\n removeAsnFromRule: \"Remove ASN from Policy\",\n removeAsnFromRuleDescription:\n \"Action will remove this ASN from the policy and rule that triggered this alarm\",\n removeAssociatedEndpoints:\n \"Endpoints associated with this rule will also be removed\",\n removeAWSSubscriptions:\n \" If you decide to unsubscribe an AWS Subscription, those should be manually removed from AWS Marketplace.\",\n removed: \"Removed\",\n removedDevices: \"Removed Devices\",\n removedKGF: \"Known Good Files removed successfully\",\n removedOn: \"Removed On\",\n removePeerFromPolicy: \"Remove Peer from Policy\",\n removePeerFromRule: \"Remove Peer from Policy\",\n removePrefixFromRule: \"Remove Prefix from Policy\",\n removePrefixFromRuleDescription:\n \"Action will remove this Prefix from the policy and rule that triggered this alarm\",\n removeTableSettings: \"Remove Table Settings\",\n renewalTerm: \"Renewal Term\",\n repeatable: \"Repeatable\",\n replaceable: \"Replaceable\",\n report: \"Report\",\n reportConfigureSuccess: \"Report configured successfully\",\n reportCreated: \"Report Created\",\n reportCreation: \"Report Creation\",\n reportDeleteSuccess: \"Report deleted successfully\",\n reportFmtsuccessfully: \"Report {action} successfully\",\n reportingFeatures: \"Reporting Features\",\n reportingPeers: \"Reporting Peers\",\n reportingPeersNumber: \"# Reporting Peers\",\n reportingPrefixes: \"Reporting Prefixes\",\n reportName: \"Report Name\",\n reportNameHint: \"Name of the report to be generated\",\n reportNotificationEndpoints: \"Report Notification Endpoints\",\n reports: \"Reports\",\n reportStatus: \"Report Status\",\n reportSubHeader:\n \"Manage reports of interest to deliver daily insights into your network traffic\",\n reportSubmittedRegenrate: \"Request submitted to regenerate report\",\n reportsWithCount: \"Reports ({count})\",\n reportTrigger: \"Report Trigger\",\n reportType: \"Report Type\",\n request: \"Request\",\n requestATrial: \"Request a Trial\",\n requested: \"Requested\",\n requestedFmt: \"Requested {time} ago\",\n requestFree: \"Request Free\",\n requestFreeAccount: \"Request Free Account\",\n requestInProgress: \"Your request should complete shortly.\",\n requestObject: \"Request Object\",\n requestObjectHeaders: \"Request Object Headers\",\n requestProcessing: \"Please wait. We are processing the request.\",\n requestSubmitSuccess: \"Request submitted successfully\",\n requestTrial: \"Request Trial\",\n required: \"Required\",\n requiredDeviceOrGroup: \"A Device or Device Group is required\",\n requiredFields: \"Please provide the values in required fields\",\n requiredLicenses: \"Required Licenses\",\n resellers: \"Resellers\",\n resendVerfnCode: \"Resend Verification Code\",\n reserved: \"Reserved\",\n reservedForASPoolTransition: \"Reserved for AS Pool Transition\",\n reservedForDocumentation: \"Reserved for documentation and sample code\",\n reservedForPrivateUse: \"Reserved for private use\",\n reservedForRPKI: \"Reserved for RPKI unallocated space invalidation\",\n reset: \"Reset\",\n resetChart: \"Reset Chart\",\n resetColumnWidths: \"Reset Column Widths\",\n resetFilters: \"Reset Filters\",\n resetToDefault: \"Reset to Default\",\n resetWidth: \"Reset Width\",\n resources: \"Resources\",\n responseObject: \"Response Object\",\n restartImportReset:\n \"This will cancel your current migration and void the previous confirmation link.\",\n restore: \"Restore\",\n restored: \"Restored...\",\n results: \"Results\",\n resumeTracking: \"Resume Tracking\",\n retry: \"Retry\",\n return: \"Return\",\n review: \"Review\",\n reviewAndSave: \"Review & Save\",\n reviewConfirm: \"Review & save changes\",\n reviewConfirmChanges: \"Review & Save the Changes to the System\",\n reviewImport: \"Review Import\",\n reviewNetworkInfo: \"Review Network Information\",\n revisions: \"Revisions\",\n revokeEnrollmentToken: \"Revoke Enrollment Token\",\n revokeEnrollmentTokenDesc:\n \"Other pending devices will be affected by this action\",\n revokeToken: \"Revoke Token\",\n revokeTokenAffectedGateways:\n \"These gateways are also using the same enrollment token. If you revoke the token before they are admitted to Crosswork Cloud they will need a new token to be issued.\",\n revokeTokenAffectedGatewaysAdditionalInfo:\n \"If you would like to remove access to only one of these gateways, grant access to the other gateways first and then revoke the token. This will allow the existing token to be used to add the desired gateways.\",\n revokeTokenAffectedGatewaysInfo:\n \"If you would like to deny all the devices access then revoke the token and the gateways will no longer request enrollment\",\n revokeTokenInfo:\n \"By revoking this enrollment token the pending device will no longer be able to request access to this system. A new enrollment token will have to be assigned to this device to attempt future enrollment. Are you sure you would like to revoke this token? \",\n rightToUse: \"Right to Use\",\n rirInformation: \"RIR Information\",\n rirLocation: \"RIR Location\",\n rirState: \"RIR State\",\n roa: \"ROA\",\n roaAsn: \"ROA ASN\",\n roaAsnFilterErrorMsg: \"Use numeric value for ASNs, separated by space ( )\",\n roaAsnFilterHint: \"Use a space ( ) to separate each ASN\",\n roaExpiryDescription:\n \"Detects when a Route Origin Authorization (ROA) will expire and alerts you according to the days you specify before the expiration date.\",\n roaFailureDescription:\n \"Detects invalid Resource Public Key Infrastructure (RPKI) information.\",\n roaHealth: \"ROA Health of AS Prefixes\",\n roaMaxLength: \"ROA's max length does not cover this prefix\",\n roaMaxLengthLabel: \"ROA Max Length\",\n roaNotFoundDescription:\n \"Detects when a monitored prefix does not have a valid ROA certificate.\",\n roaPrefix: \"ROA Prefix\",\n roaRecords: \"ROA Records\",\n roaSource: \"ROA Source\",\n roaSources: \"Prefix ROA Sources\",\n roaStatus: \"ROA Status\",\n roaWasNotFound: \"ROA not found\",\n role: \"Role\",\n roles: [\"Invalid\", \"Admin\", \"Read Write\", \"Read Only\"],\n route: \"Route\",\n routeRefresh: \"Route Refresh\",\n routerId: \"Router ID\",\n routersCollected: \"Number of Routers Collected\",\n routingKey: \"Routing Key\",\n routeOriginValidation: \"Route Origin Validation\",\n routeOriginValidationDescription:\n \"Compare observed origin ASN and maximum prefix length to global prefix registries.\",\n rovInvalidIntervalMsg:\n \"Request start time & end time gap can't be greater than 7 days\",\n rovStatus: \"ROV Status\",\n rovViolations: \"ROV Violations\",\n rpsl: \"RPSL\",\n rpslClassificationStatuses: `[\n \"Mismatch: The observed origin ASN for thix prefix differs from the one listed in the RPSL database.\",\n \"Exact Match: The prefix matches the ASN in RPSL and WhoIS databases.\",\n \"Partial Match: The prefix matches the parent ASN in the RPSL, but not exactly.\",\n \"No RPSL: No RPSL records found for the prefix or its parent.\"\n ]`,\n rpslStatus: \"RPSL Status\",\n rule: \"Rule\",\n ruleEndpoints: \"Rule Endpoints\",\n rules: \"Rules\",\n ruleSpecificNotificationEndpoints: \"Rule Specific Notification Endpoints\",\n running: \"Running\",\n runningHash: \"Running Hash\",\n runningMismatch: \"Running Mismatch\",\n runtime: \"Runtime\",\n runtimeProtectionsOSCASLRXSpaceDetails:\n \"Built-in Runtime protections within the IOS XR Operating System to prevent common vulnerabilities. Includes object size checking, address space layout randomization, and executable space protections.\",\n rx: \"RX\",\n rxRatio: \"RX: Ratio\",\n rxAverage: \"RX: Average\",\n rxAvg: \"RX: Avg\",\n rxMax: \"RX: Max\",\n rxNetflow: \"RX: Netflow\",\n rxP95: \"RX: P95\",\n rxSnmp: \"RX: SNMP\",\n rxTraffic: \"RX Traffic\",\n rxTransitAverage: \"RX: Transit Average\",\n rxTxTraffic: \"Device traffic flowing in the past hour\",\n s3: \"Amazon S3\",\n s3Description:\n \"Configure a notification, such as an alarm, to be sent to an Amazon Simple Storage Service account.\",\n salesProspect: \"Sales support request from {user} in {org}\\n\\n\",\n salesPurchase: \"Sales Purchase\",\n salesPurchaseDescription:\n \"Please contact our sales team if you would like to purchase a license for Cisco Traffic Analysis, Trust Insights and External Route Analysis.\",\n salesSupport: \"Sales Support\",\n salesSupportSuccess: \"Request sent to sales successfully\",\n salesTeamMessage:\n \"Hello Sales Team,\\n\\nI'm interested in purchasing Crosswork Cloud subscription and would like more information.\\n\\n\\nRegards\\n\\n{user}\\n{org}\",\n salesTeamSubHeader:\n \"Please give a brief description to our sales team why you would like a further extension to try out our products and we will get back to you soon.\",\n sampleAsPath: \"Sample AS Paths\",\n sampleAsPathHint:\n \"Separate multiple paths by using a comma “,” or by putting it on a new line\",\n netflowSamplingRateOverride: \"Netflow Sampling Rate Override\",\n netflowSamplingRateOverrideHint:\n \"Maximum value is {max}. A value of zero will configure automatic sampling rate detection from netflow.\",\n saveVerify: \"Save & Verify\",\n savingProgress: \"Saving Progress, please wait\",\n scanTime: \"Scan Time\",\n schema: \"Schema\",\n scope: \"Scope\",\n search: \"Search\",\n searchAll: \"Search All\",\n searchAsNamePreReq:\n \"Please enter at least 3 characters to search an AS name\",\n searchAsPrefixOrIp:\n \"Search an ASN name or number, prefix, or IP to view its details.\",\n searchingAsName: \"Searching AS Name\",\n second: \"Second\",\n secureJTAGDetails:\n \"Advanced hardening for protection against attacks on internal JTAG systems interfaces (often used in manufacturing and advanced debugging processes).\",\n securityLevel: \"Security Level\",\n seenBefore: \"Seen Before\",\n seenElseWhere: \"Seen Elsewhere\",\n select: \"Select\",\n selectAll: \"Select All\",\n selectAPolicyType: \"Select a Policy Type\",\n selectAsn: \"Select ASN\",\n selectCountry: \"Select Country\",\n selectCredential: \"Select Credential\",\n selectDate: \"Select a date\",\n selectDateTime: \"Select Date & Time\",\n selectDevice: \"Select Device\",\n selectDevices: \"Select Devices\",\n selectDevicesDescription:\n \"Select the device checkbox you wish to change (monitor or ignore) or click the device name to view more details.\",\n selectedForSetup: \"{selected} Selected for Setup\",\n selectedToSubscribe: \"{selected} Selected to Subscribe\",\n selectedTotal: \"Selected Total\",\n selectedUnknownFiles: \"Selected unknown files to be added\",\n selectExistingPolicy:\n \"Select a existing prefix policy to link to the prefixes\",\n selectFmt: \"Select {obj}\",\n selectGateways: \"Select Gateways\",\n selectGatewaysDescription: \"Gateways to monitor or ignore\",\n selectInterfaces: \"Select Interfaces to Monitor\",\n selectInterfacesDescription1:\n \"Use filters to help identify the interfaces you want to monitor. By default, only interfaces with unassigned policies are displayed\",\n selectInterfacesDescription2:\n \"To add an interface, click Add under the Device Interface Queue column \",\n selectNetworkType: \"Select Type of Network\",\n selectNone: \"Select None\",\n selectNotification:\n \"Select an existing or add a new notification endpoint to which we will send notifications when alarm conditions are met. If you skip this step, you can add notification endpoints to policies at a later time.\",\n selectPeerAsn: \"Select a Peer ASN\",\n selectPeerAsnDetails: \"A Peer ASN is required to optimize a peer\",\n selectPolicyDevicesDescription1:\n \"Use filters to help identify the devices you want to monitor. By default, only devices with unassigned policies are displayed.\",\n selectPolicyDevicesDescription2:\n \"To add a device, click Add under the Queue column or Add Filter Results (if applicable)\",\n selectPurchaseMethod: \"Select Purchase Method\",\n selectSingleDevice: \"Select a Device\",\n selectWhatToCompare: \"Select What to Compare\",\n selectWhatToCompareDesc:\n \"Select what type of data you would like to compare\",\n send: \"Send\",\n sendActivationEmail: \"Send Activation Email\",\n sendOnTrigger: \"Send On Trigger\",\n sendTo: \"Send To\",\n separateLabelWithComma: \"Enter a comma (,) as you type label to commit it.\",\n serial: \"Serial\",\n serialNumber: \"Serial Number\",\n series: \"Series\",\n serviceLevel: \"Service Level\",\n serviceProvider: \"Service Provider\",\n serviceTier: \"Service Tier\",\n sessionsEstablishedDropped: \"Sessions Established/Dropped\",\n setExternal: \"Set External\",\n setInterfaceTooltip: \"Please select interfaces below\",\n setInternal: \"Set Internal\",\n setOrgName: \"Set Organization Name\",\n settings: \"Settings\",\n settingsSystem: \"System Information - {orgName}\",\n setup: \"Setup\",\n setupChecklist: \"Setup Checklist\",\n setupNetflow: \"Enable Netflow Traffic Analysis\",\n setupNetflowSubHeader: \"Generate Netflow data in Crosswork Cloud\",\n setupPrefixes: \"Set up Prefixes\",\n setYourPreferences: \"Set Your Preferences\",\n severity: \"Severity\",\n sfpModule: \"SFP Module\",\n SHA1: \"SHA1\",\n SHA224: \"SHA224\",\n SHA256: \"SHA256\",\n sha256File: \"File: SHA-256\",\n SHA384: \"SHA384\",\n SHA512: \"SHA512\",\n shaFingerprint: \"SHA 1 Fingerprint\",\n show: \"SHOW\",\n showPaths: \"Show Paths\",\n signatureAlgorithm: \"Signature Algorithm\",\n signingKeyChangeDetected: \"Signing Key Change Detected\",\n signOnSupport: \"Sign on Support\",\n signOnSupportDescription: \"Technical support for Single Sign-on\",\n signOut: \"Sign Out\",\n signOutForm: \"Sign Out form\",\n signUp: \"Sign Up\",\n signupFooter: \"If you need help creating an account, see the \",\n signupSuccess1:\n \"You have successfully created a new account in Crosswork Cloud. In order to get started and create your new organization, please visit crosswork.cisco.com from a desktop browser.\",\n singleDevice: \"Single Device\",\n singleSignOn: \"Single Sign On\",\n siteMap: \"Site Map\",\n skewed: \"Skewed\",\n skewedClocks: \"Skewed Clocks\",\n skipForNow: \"Skip for Now\",\n skipStep: \"Skip this Step\",\n slack: \"Slack\",\n slackDescription:\n \"Configure a notification, such as an alarm or report, to be sent to a Slack channel.\",\n small: \"Small\",\n smallToMediumBusiness: \"Small To Medium Business\",\n sms: \"SMS\",\n smsDescription:\n \"Configure a notification, such as an alarm or report, to be sent as SMS message.\",\n snapshot: \"Snapshot\",\n snmp: \"SNMP\",\n snmpAddress: \"SNMP Address\",\n snmpCredential: \"SNMP Credential\",\n snmpLastSeen: \"SNMP Last Seen\",\n snmpStatus: \"SNMP Status\",\n snmpV2: \"SNMPv2\",\n snmpV2Description: \"\",\n snmpV3: \"SNMPv3\",\n snmpV3Description: \"\",\n snoozeAlarms: \"Snooze {alarm}?\",\n snoozeAlarmsDesc:\n \"Snoozed alarms will not send notifications until a specific time has passed or they are unsnoozed. Select how long you would like to ignore this alarm.\",\n snoozeDuration: \"Snooze Duration\",\n snoozeOnceModalOption: \"Once (until cleared)\",\n snoozePrefixesSuccess: \"Prefix(es) successfully snoozed.\",\n snoozeFailed: \"Unable to snooze alarm(s)\",\n snoozeSuccess: \"Alarm(s) Snoozed\",\n snoozedUntil: \"Snoozed Until\",\n snoozeUntilPrefix: \"Until \",\n snoozed: \"Snoozed\",\n software: \"Software\",\n softwareChanges: \"Software Changes\",\n softwareDifferences: \"Software Differences\",\n softwareIntegrityAnalysis: \"Software Integrity Analysis\",\n softwareIntegrityRuleSubtitle:\n \"Indicate the number of software integrity failures required to trigger a notification.\",\n softwareRevision: \"Software Revision\",\n softwareType: \"Software Type\",\n softwareUsage: \"Software Usage\",\n softwareValidation: \"Software Integrity Validation\",\n softwareValidationDescription:\n \"Trust Insights validates software measurements against known-good-values collected in the IOS XR build and release processes.\\n\",\n softwareVersion: \"Software Version\",\n source: \"Source\",\n sourceDataGateway: \"Source Data Gateway\",\n sourceDevice: \"Source Device\",\n sources: \"Sources\",\n southBound: \"South Bound\",\n southBoundStaticRoute: \"South Bound Static Route\",\n speed: \"Speed\",\n speedOption1: \"Upto 1 Gbps\",\n speedOption2: \"1Gbps - 2Gbps\",\n speedOption3: \"2Gbps - 10Gbps\",\n speedOption4: \"10Gbps - 100Gbps\",\n speedOption5: \"100Gbps - 400Gbps\",\n spoolAge: \"Spool Age\",\n spoolDiscards: \"Spool Discards\",\n spoolFull: \"Spool Full\",\n ssh: \"SSH\",\n sshCredential: \"SSH Credential\",\n sshDidNotInitialize: \"SSH did not initialize\",\n sshFailure: \"SSH failure\",\n sshHostKeyApprovalPending: \"SSH host key approval pending\",\n sshHostKeyMismatch: \"SSH Host Key Mismatch\",\n sshHostKeySuccess: \"SSH host key accepted successfully.\",\n sshHostKeyViolationRuleSubtitle:\n \"Choose the severity level of the alarm when a device SSH host key is invalid.\",\n sshKeyCopyCommand: \"cat | cut -f 2 -d ' ' | base64 -d > key.bin \",\n sshKeyCopyInstruction: \"copy key.bin onto the XR device\",\n sshKeyCreatedModalDescription:\n \"Copy the public key using the button below then run\",\n sshPassword: \"SSH Password\",\n sshPort: \"SSH Port\",\n sshPublicKey: \"SSH Public Key\",\n sshv2: \"SSHv2\",\n sshv2Description: \"\",\n stale: \"Stale\",\n staleAlarmBanner: \"Alarm is stale\",\n standard: \"Standard\",\n start: \"Start\",\n startAdvancedTrial: \"Start Advanced Trial\",\n startAdvancedTrialDetail:\n \"To get more functionality and features. Start a trial of advanced features.\",\n startATrial: \"Start a Trial\",\n startDate: \"Start Date\",\n startsWithFilterDesc: \"Starts-With Filter\",\n startTime: \"Start Time\",\n startTrial: \"Start Trial\",\n state: \"State\",\n stateTransitionAt: \"State Transition At\",\n staticRouteHelpText:\n \"Enter comma (,) separated IP addresses of static route for south bound interface (eth1)\",\n staticRoutes: \"Static Routes\",\n staticRouting: \"Static Routing\",\n stats: \"Stats\",\n statsUpdated: \"Stats Updated\",\n status: \"Status\",\n statusType: \"Status Type\",\n step1Text:\n \"Enter the ASN you want to monitor. The ASN is used to find prefixes to subscribe to.\",\n step2Text:\n \"We discovered the following prefix(es) based on the ASN(s) you entered. Select the prefixes you wish to setup. We will subscribe and assign a policy rule set for each selected prefix.\",\n step3Text:\n \"Next we will add policies to your tracked ASNs and Prefixes. By default newly created policies will include all possible rules.\",\n step4Text:\n \"Select and/or add destinations you would like attached to the newly created policies and rules, if any.\",\n step5Text:\n \"Below are the changes that will be made once you click “submit”. Please verify as they cannot be easily undone once you click “submit”.\",\n stepsForParity: \" Steps for Parity\",\n string: \"string\",\n submitConfirmation:\n \"Click Submit to save changes and start using the system.\",\n subPageSelection: \"Sub-Page Selection\",\n subPrefixAdvertisementDescription:\n \"Detects when a specific subnet (a longer prefix match) of the prefix is advertised.\",\n subprefixAlarmDetailsOverviewDescription1: \"There are currently \",\n subprefixAlarmDetailsOverviewDescription2:\n \" unexpected Subprefixes being announced under \",\n subprefixes: \"Subprefixes\",\n subprefixRuleMaskIPv4Header: \"IPv4 Prefixes\",\n subprefixRuleMaskIPv6Header: \"IPv6 Prefixes\",\n subprefixRuleMaskSectionDescription:\n \"Set the sliders to set the threshold to ignore longer prefixes\",\n subprefixRuleMaskSectionHeader: \"Ignore Prefix Mask Length Threshold\",\n subscribe: \"Subscribe\",\n subscribeAsnsTextareaHint: \"Use a comma (,) or space to separate each ASN\",\n subscribeCrossworkCloud: \"Subscribe Crosswork Cloud\",\n subscribed: \"Subscribed\",\n subscribedPrefixes: \"Subscribed Prefixes\",\n subscribePeersPolicyFieldInfoText:\n \"Changes to this field are applied to all selected peers.\",\n subscribePrefixesSuccess: \"Prefix(es) subscribed successfully.\",\n subscribePrefixTextareaHint:\n \"Use a comma (,) or space to separate each prefix\",\n subscribeSubprefixes: \"Subscribe Subprefixes\",\n subscribeToPrefixes: \"Subscribe to Prefixes\",\n subscribeTopSubprefixes: \"Subscribe Top {count} Subprefixes\",\n subscription: \"Subscription\",\n subscriptionFailure:\n \"At least one of the subscription IDs entered was invalid or already claimed. Verify you entered the correct ID. If the error remains, please contact the support team at \",\n subscriptionId: \"Subscription ID\",\n subscriptionIdForTenancy:\n \"Subscription ID (If available or a free account will be created)\",\n subscriptionIds: \"Subscription ID's\",\n subscriptionIdsErrorHint:\n \"The subscription ID you entered cannot be claimed.\",\n subscriptionIdsHint: \"Enter Subscription ID's separated by comma\",\n subscriptionPlans: \"Subscription Plans\",\n subscriptions: \"Subscriptions\",\n subscriptionStatus: \"Subscription Status\",\n subscriptionsWillBeRemoved:\n \"The following subscriptions will be removed from the current subscription claim\",\n subscriptionTerm: \"Subscription Term\",\n subscriptionTiers: \"Subscription Tiers\",\n success: \"Success\",\n sudi: \"SUDI\",\n SUDIDetails:\n \"Secure Unique Device Identity (SUDI) is a manufacturer certificate and private key stored in tamper-resistant Trust Anchor Module (TAm). SUDI can provide tamper-resistant cryptographic verification of component authenticity, serial number and part number.\",\n summarizing: \"Summarizing\",\n summary: \"Summary\",\n support: \"Support\",\n supportDesc: \"Select an option below to get help from Cisco.\",\n swIntegrityAnalysisSubHeader:\n \"Analysis of software files and packages on your device\",\n system: \"System\",\n systemChangeHistory: \"System Change History\",\n systemChangeHistoryDescription:\n \"Trust Insights will detect changes in reported operational events such as device reboot and configuration rollback.\",\n systemObject: \"System Object\",\n systemObjectDescription: \"Choose the object type you wish to track.\",\n table: \"Table\",\n tableSettings: \"{action} Table Settings\",\n tableSettingsRemoved: \"Table Settings removed successfully\",\n tableSettingsSaved: \"Table Settings saved successfully\",\n tableView: \"Table View\",\n tag: \"Tag\",\n tags: \"Tags\",\n tagsDonut: \"Tags\",\n tagsListUnavailable: \"Tags List Unavailable\",\n tagsListUnavailableDesc:\n \"Auto-completion of existing tags will not be available when editing\",\n tagsNotSavedFmt: \"Tags Not Saved: {error}\",\n tagsSaved: \"Tags Saved\",\n teamsDescription:\n \"Configure a notification, such as an alarm or report, to be sent to a Microsoft Teams account.\",\n technicalSupport: \"Technical Support\",\n technicalSupportDescription:\n \"Obtain technical support when using Crosswork Cloud APIs.\",\n telemetry: \"Telemetry\",\n telemetryDevices: \"Telemetry Enabled Devices\",\n telemetryDisabledTooltip:\n \"Telemetry settings can be applied to only one device\",\n telemetryEnabling: \"Telemetry Enabling\",\n telemetryPortHint: \"Port number must be greater than 1024\",\n telemetrySettings: \"Telemetry Settings\",\n telemetrySettingsUpdateSuccess: \"Telemetry settings updated successfully\",\n term: \"Term\",\n terminated: \"Terminated\",\n termMonths: \"{month} month(s)\",\n termsAndConditions: \"Terms & Conditions\",\n termsDisclaimer:\n \"Free trials are subject to approval by Cisco and may be cancelled at any time\",\n testing: \"Testing\",\n testResults: \"Test Results\",\n thanks: \"Thanks,\",\n theGateway: \"the Gateway\",\n theme: \"Theme\",\n themes: {\n dark: \"Dark (default)\",\n highContrast: \"High Contrast\",\n light: \"Light\"\n },\n thingBeingComparedFmt: \"{thing} Being Compared\",\n thirtyMinutes: \"30 Minutes\",\n thisPeer: \"This Peer\",\n threeMonth: \"3 Months\",\n tier: \"Tier\",\n tierInformation: \"Tier Information\",\n tierSelection: \"Tier Selection\",\n time: \"Time\",\n timeComparison: \"Time Comparison\",\n timedOut: \"Timed out\",\n timeframe: \"Timeframe\",\n timeOutOfRange:\n \"The selected time must be between {minTime} and {maxTime}, correct and submit again\",\n timeSinceCollected: \"Time Since Collected\",\n timestamp: \"Timestamp\",\n timezone: \"Timezone\",\n title: \"Cisco Crosswork Cloud\",\n to: \"to\",\n toFrom: \"To/From\",\n toGetStarted:\n \"Cisco Crosswork External Analysis allows you to track relevant changes to the prefixes you care about. \",\n tokenCreatedDesc:\n \"This is your new token. It will only be displayed this one time. A new token will have to be created if this key is lost. \",\n tokenId: \"Token Id\",\n enrollmentTokens: \"Enrollment Tokens\",\n tokenName: \"Token\",\n tokenNumUses: \"Number of Uses\",\n tokensDeleteConfm: \"Bearer Token(s) removed\",\n tools: \"Tools\",\n topActiveSeverity: \"Top Active Severity\",\n topDeviceToFromAsns: \"Top Device To/From ASNs\",\n topDeviceTransitAsns: \"Top Device Transit ASNs\",\n topSeverity: \"Top Severity\",\n total: \"Total\",\n totalChanges: \"Total Changes\",\n totalKGVInPackage: \"Total KGV in Package\",\n totalPrefixCount: \"Total Prefix Count\",\n totalPrefixes: \"Total Prefixes\",\n totalTraffic: \"Total Traffic\",\n totalViolationPeers: \"Total Violation Peers\",\n trackedDevices: \"Tracked Devices\",\n trackedDevicesDescription:\n \"The listed devices will be monitored by the above triggers.\",\n trackedInterfaces: \"Tracked Interfaces\",\n trackedInterfacesDescription:\n \"The listed interfaces will be monitored by the above triggers.\",\n trademarks: \"Trademarks\",\n traffic: \"Traffic\",\n trafficAggregation: \"Traffic Aggregation\",\n trafficAlarms: \"Traffic Alarms\",\n trafficAnalysis: \"Traffic Analysis\",\n trafficAnalysisGateway: \"Traffic Analysis Gateway\",\n trafficExpectationInfo1: \"The interface\",\n trafficExpectationInfo2: \"traffic is expected to be\",\n trafficExpectationInfo3: \"than\",\n trafficExpectationInfo4: \"and\",\n trafficExpectationInfo5: \"of the capacity\",\n trafficAnalysisSetup: \"Traffic Analysis Setup\",\n trafficAnalysisTier: \"Traffic Analysis {tier}\",\n trafficAnalysisTrial: \"Traffic Analysis Trial\",\n trafficArticle:\n \"Crosswork Traffic Analysis aggregates traffic flow data across multiple devices, giving operators a view of the traffic matrix across the whole network. It adds critical context to observed traffic flows based on the existing rich data sets of routing data from the Crosswork Network Insights service. This allows operators to gain a deeper understanding of traffic flows on their networks, as well as the impacts of changes in external and internal routing state and policy. Traffic Analysis enables network operators to engineer automated peering solutions as well as understand the impact of new peering to their network infrastructure.\",\n trafficComingSoon:\n \"We are working hard to release enhanced functionality and features to help you understand your network traffic.\",\n trafficComparison: \"Traffic Comparison\",\n trafficData: \"Traffic Data\",\n trafficDecription:\n \"Visualize, analyze, and optimize network traffic at distributed peering points.\",\n trafficDevices: \"Traffic Analysis Enabled Devices\",\n trafficDrilldown: \"Traffic Drilldown\",\n trafficGrouping: \"Traffic Grouping\",\n trafficNotLicensed: \"For more information about Traffic Analysis, contact \",\n trafficPort:\n \"Traffic Analysis requires that routers send Netflow traffic to destination port UDP/2055\",\n trafficTraversing: \"Traffic is Traversing Internal/External\",\n transit: \"Transit\",\n transitAsns: \"Transit ASN(s)\",\n trends: \"Trends\",\n trial: \"Trial\",\n trial90Days: \"Up to 90 Day Trial\",\n trialAccountRequest: \"Trial Account Request\",\n trialAvailable: \"30 days trial available\",\n trialConfirmation:\n \"Please follow the instructions in your activation email.\",\n trialCreated: \"Trial Created successfully\",\n trialDisclaimer:\n \"Trial accounts are subject to Cisco approval and can be cancelled at any time.\",\n trialGuide: \" Cisco Crosswork Cloud Trial Guide.\",\n trialGuideFooter:\n \"If you run into any issues or need more information, see the \",\n trialHeader: \"Trial Account Request\",\n trialHeaderDescription:\n \"Sign up for a trial account of Cisco Crosswork Network Insights\",\n trialLicenses: \"Trial Licenses\",\n trialRequest: \"Network Insights Trial Account Request\",\n trialRequestDescription:\n \"To activate your trial subscription, please provide the requested information, accept terms, and request trial\",\n trialRequested: \"Trial Requested\",\n trialRequestedHeader: \"Thank you for requesting a trial\",\n trials: \"Trials\",\n trialSentTo: \"Activation link will be sent to\",\n trigger: \"Trigger\",\n triggerAlarm: \"Trigger Alarm\",\n triggerRulesSubtitle: \"Add rules to trigger events you want to monitor\",\n triggerRulesTitle: \"{type} Rules\",\n triggers: \"Triggers\",\n triggersPolicySubheader:\n \"Events that set off an alarm when a rule is enabled\",\n trust: \"Trust\",\n trustAlarms: \"Trust Alarms\",\n trustAnalysis: \"Trust Analysis\",\n trustAnchor: \"Expirations\",\n trustAnchorValue: \"{anchor} ROA for {prefix} expires at {time}\",\n trustArticle:\n \"Crosswork Trust Insights helps to track, analyze, and prove hardware and software components running in your network. Trust Insights works with IOS XR to deliver unique capabilities to gather signed evidence collected from supported devices. We provide a reporting framework that verifies the integrity of this evidence against Known Good Values (KGVs) from the Cisco manufacturing. This delivers a unique view of the trust posture of your network infrastructure and provides an audit of your systems throughout their lifecycle.\",\n trustAttestationDetails:\n 'IOS XR support for a signed \"Trust Dossier\" for systems inventory and integrity reporting. Trust Attestation is required for support in Crosswork Trust Insights.',\n trustCDGCannotBeSameAsFlowCDG:\n \"Trust Data Gateway cannot be same as Traffic Data Gateway\",\n trustData: \"Trust Data\",\n trustDecription:\n \"Gain operational visibility to preserve the trustworthiness of your network infrastructure.\",\n trustDevices: \"Trust Insights Enabled Devices\",\n trustFlowInsights: \"Trust/Traffic\",\n trustGateway: \"Trust Gateway\",\n trustHardwareSoftware: \"Trust Hardware & Software\",\n trustInsights: \"Trust Insights\",\n trustInsightsDevicesOnly: \"Trust Insights devices only\",\n trustInsightsTier: \"Trust Insights {tier}\",\n trustInsightsTrial: \"Trust Insights Trial\",\n trustMismatchedFilesRuleSubtitle:\n \"Indicate the number of files that do not match Cisco IOS XR artifacts or user defined KGVs required to trigger a notification and choose the alarm severity.\",\n trustNotLicensed: \"For more information about Trust Insights, contact \",\n trustOnlineDocumentation: \"Crosswork Trust Insights Documentation\",\n trustPolicyConfigAddFilterResultsDisableTooltip:\n \"Filtered results are either more than the allowed limit or there are no more items to be added.\",\n trustReporting: \"Trust Reporting\",\n trustTerms:\n \"I have read and accept the Terms and Service and Privacy Statement\",\n trustUnknownFilesRuleSubtitle:\n \"Indicate the number of files that either do not match known Cisco IOS XR signatures or KGVs required to trigger a notification.\",\n turnFlowTrustOn:\n \"Turn on “Trust Insights” and/or “Traffic Analysis” to save this device.\",\n turnTrustFlow: \"Turn on ”Trust” or ”Traffic” \",\n twoMonth: \"2 Months\",\n tx: \"TX\",\n txRatio: \"TX: Ratio\",\n txAverage: \"TX: Average\",\n txAvg: \"TX: Avg\",\n txMax: \"TX: Max\",\n txNetflow: \"TX: Netflow\",\n txP95: \"TX: P95\",\n txSnmp: \"TX: SNMP\",\n txTraffic: \"TX Traffic\",\n type: \"Type\",\n uiComponentLibrary: \"UI Component Library\",\n uint32: \"uint32\",\n uint62: \"uint64\",\n unableToLoadUrl: \"Unable to load the Url\",\n unableToPurchaseAWS: \"No offerings available\",\n unackFailed: \"Failed to Unacknowledge Alarm(s)\",\n unackSuccess: \"Alarm(s) Unacknowledged\",\n unassigned: \"Unassigned\",\n unavailable: \"Unavailable\",\n unchanged: \"unchanged\",\n unclaimFlowLicense:\n \"The following device right-to-use licensing will be removed from your organization licence pool as they are associated with subscription \",\n unclaimLicense:\n \"The selected licenses will be removed from your organization.\",\n unclaimLicensePool:\n \"The selected licenses will be removed from your organization license pool\",\n unclaimSubscriptionFailure: \"Failure to Unclaim Subscription(s)\",\n unclaimSubscriptionSuccess: \"Subscription(s) unclaimed successfully.\",\n uncommited: \"Uncommited\",\n unconfiguredBGPSessions: \"Unconfigured BGP Sessions\",\n unexpectedAsPrefixDescription:\n \"Detects unexpected changes for an AS where a new prefix was not previously there.\",\n unexpectedData: \"Unexpected data\",\n unexpectedError: \"Unexpected Error\",\n units: \"Units\",\n unknown: \"Unknown\",\n unknownFiles: \"Unknown Files\",\n unknownFilesDescription:\n \"Detects unknown files that do not match known Cisco IOS XR signatures or user defined Known Good Values (KGV).\",\n unknownFilesNotAvailable:\n \"Unknown files reporting is unavailable for this XR release\",\n unknownFilesNotFound: \"There are no unknown files detected for this device\",\n unknownFilesTooltip:\n \"The details in the observed section are based on the state as of the last dossier collection. Files added to the Known Good List will not be reported in the next collection.\",\n unknownNetflowExporters: \"Unknown Netflow Exporters\",\n unlimitedUsers: \"Unlimited Users\",\n unlimitedUsersDescription:\n \"Allows an unlimited amount of users to access Crosswork Cloud applications with one set of login credentials.\",\n unlinked: \"Unlinked\",\n unlinkPrefixesSuccess: \"Prefix(es) successfully unlinked.\",\n unmonitorAsnSuccess: \"ASN(s) unmonitored successfully.\",\n unsnoozeFailed: \"Failed to Unsnooze Alarm(s)\",\n unsnoozeSuccess: \"Alarm(s) Unsnoozed\",\n unpausePrefix: \"Resume Prefix\",\n unpausePrefixes: \"Resume Prefix(es)\",\n unpausePrefixesSuccess: \"Prefix(es) successfully resumed.\",\n unreachable: \"Unreachable\",\n unrecognizedFRU: \"Unrecognized Field Replaceable Unit\",\n unsavedChangesDesc:\n \"You have unsaved changes on this page that will be lost if you navigate away. To keep your changes, continue editing and save your changes before leaving this page.\",\n unsavedChangesTitle: \"Unsaved Changes\",\n unsnoozePrefixes: \"Unsnooze Prefix(es)\",\n unsnoozePrefixesSuccess: \"Prefix(es) successfully unsnoozed.\",\n unspecified: \"Unspecified\",\n unsubscribed: \"Unsubscribed\",\n unSubscribePrefixesSuccess: \"Prefix(es) unsubscribed successfully.\",\n unsupportedTrafficType: \"Unsupported Traffic Type\",\n unverified: \"Unverified\",\n up: \"Up\",\n updateAdvertisedPrefixCount: \"Update Advertised Prefix Count\",\n updated: \"Updated\",\n updatedAt: \"Updated At\",\n updateDevice: \"Update Device\",\n updatedKGF: \"Updated Known Good Files status successfully\",\n updatedOrgSuccess: \"Organization Name updated successfully\",\n updatePolicyPeerCounts: \"Update Policy Peer Counts\",\n updateType: \"Update Type\",\n uploadFile: \"Upload File\",\n uploadGoogleKeyFile: \"Upload JSON Key File\",\n uploadingPrefixes: \"Uploading prefixes...\",\n uploadVMCdgBundle: \"Upload VM CDG Bundle\",\n upstream: \"Upstream\",\n upstreamAs: \"Upstream AS\",\n upstreamAsChangeDescription:\n \"Detects a route leak to an existing peer that should not propagate a prefix.\",\n upstreamAsChangeDescriptionMyPeers:\n \"Detects a route leak to an existing peer that should not propagate a prefix on my peers.\",\n upstreamAsCount: \"Upstream AS Count\",\n upstreamASNs: \"Upstream ASNs\",\n upTime: \"Uptime\",\n upToFivePrefixes: \"up to five prefixes for a year. \",\n usageExamples: \"Usage Examples\",\n USCANADACallTimings: \"US/CANADA | 5am-5pm Pacific\",\n useChartToModifySelection: \"Use the chart below to modify selection\",\n used: \"Used\",\n useOriginAsns: \"Use Origin ASNs\",\n user: \"User\",\n userAccepted: \"User Accepted\",\n userAddFailure: \"At least one of the users couldn't be added.\",\n userAnalyticsTooltip:\n \"Allow Crosswork Cloud to track activity and errors to help us improve user experience and streamline tasks.\",\n userAnalyticsTracking: \"User Analytics Tracking\",\n userDeleteFailure: \"Could not remove user\",\n userDeleteSuccess: \"User Removed\",\n userIdsErrorHint: \"These user IDs couldn't be added\",\n username: \"Username\",\n userNavigation: \"User Navigation\",\n userOptions: \"User Options\",\n userPreference:\n \"Set your user preferences. You can modify these settings later if needed.\",\n userPrefUpdateSuccess: \"Preferences updated successfully.\",\n userProfile: \"Profile\",\n users: \"Users\",\n userSaveFailure: \"Could not save user\",\n userSaveSuccess: \"User Saved\",\n userSpaceName: \"User Name\",\n userUpdateSuccess: \"User updated successfully.\",\n utilization: \"Utilization\",\n v4IpDestinations: \"V4 IP Destinations\",\n valid: \"Valid\",\n validArray: \"Must be an array\",\n validASPathDescription: \"Detects unexpected BGP AS-path changes.\",\n validASPathDescriptionMyPeers:\n \"Detects unexpected BGP AS-path changes on my peers.\",\n validDossiers: \"Valid Dossiers\",\n validFrom: \"Valid From\",\n validity: \"Validity\",\n validityFrom: \"Validity From\",\n validityTo: \"Validity To\",\n validMaxArrayLength: \"Must not have more than {maxLen} {items}\",\n validROA: \"Valid ROA\",\n validROACount: \"Valid ROA Count\",\n validRPSL: \"Valid RPSL\",\n validRPSLCoverage: \"Valid RPSL Coverage\",\n validRPSLPrefixCoverage: \"Valid RPSL Prefix Coverage\",\n validUntil: \"Valid Until\",\n value: \"Value\",\n values: \"Values\",\n vendorType: \"Vendor Type\",\n verification: \"Verification\",\n verificationCode: \"Verification Code\",\n verificationCodeHint:\n \"Enter the verification code that was sent to the endpoint\",\n verificationConfmn:\n \"We have sent a verification code to the {endpoint}. Enter the code that was sent in the field below to verify ownership over this endpoint and activate it.\",\n verificationResent:\n \"A new verification code has been sent to this endpoint\",\n verificationSent: \"Verification Sent\",\n verified: \"Verified\",\n verify: \"Verify\",\n verifyAuthenticationPwd: \"Verify Authentication Password\",\n verifyNewPassword: \"Verify New Password\",\n verifyPassword: \"Verify Password\",\n verifyPrivacyPassword: \"Verify Privacy Password\",\n verifySuccess: \"Endpoint Verified\",\n version: \"Version\",\n versionChangeSeperator: \" to \",\n viaDistributor: \"Via Distributor\",\n viaPartner: \"Via Partner\",\n view: \"View\",\n viewAll: \"View All\",\n viewAllDevices: \"View All Devices\",\n viewAllGateways: \"View All Gateways\",\n viewAllTags: \"View All Tags\",\n viewAsns: \"View ASNs\",\n viewDetails: \"View Details\",\n viewDevices: \"View Devices\",\n viewEnrollmentToken: \"View Enrollment Token\",\n viewFlowReplicationSubTitle:\n \"Use this page to view and configure duplicate Netflow traffic from devices and Data Gateway instances.\",\n viewing: \"Viewing\",\n viewingSelected: \"Viewing Selected\",\n viewingSnapshot: \"Viewing Snapshot\",\n viewPeermonMigrationGuide: \"View Peermon Migration Guide\",\n viewPrefixes: \"View Prefixes\",\n viewPunchlist: \"View Punchlist\",\n viewSubscriptions: \"View Subscriptions\",\n viewViolations: \"View Violations\",\n violating: \"Violating\",\n violatingPath: \"Violating Path\",\n violatingPrefix: \"Violating Prefix\",\n violatingPrefixes: \"Violating Prefixes\",\n violationAt: \"Violation At\",\n violationPeers: \"Violation Peers\",\n volume: \"Volume\",\n warning: \"Warning\",\n watchVideo: \"Watch Video\",\n webexDescription:\n \"Configure a notification, such as an alarm or report, to be sent to a Webex Teams account.\",\n webhookUrl: \"Webhook URL\",\n week: \"Week\",\n weekly: \"Weekly\",\n weeklyAvg: \"Weekly Avg\",\n weekOf: \"Week Of\",\n welcome: \"Welcome\",\n whoIsData: \"Whois Data\",\n willBe: \"Will be\",\n withdrawals: \"Withdrawals\",\n withdrawn: \"Withdrawn\",\n withdrawnPrefixes: \"Withdrawn Prefixes\",\n working: \"Working\",\n worstCpu: \"Worst CPU\",\n worstMem: \"Worst Memory\",\n worstNpu: \"Worst NPU\",\n xMins: \"{x} mins\",\n xHour: \"{x} hour\",\n xHours: \"{x} hours\",\n xrEnhancedFileSystemIntegrityReporting:\n \"IOS XR Enhanced File System Integrity Reporting\",\n xrEnhancedFileSystemIntegrityReportingDescription:\n \"Trust Insights reports on runtime file modification as reported by the IOS XR enhanced filesystem integrity process.\",\n xrPackageSignatureSupport: \"IOS XR Package Signature Support\",\n xrPackageSignatureSupportDescription:\n \"Trust Insights compares IOS install-time and runtime package signatures against known-good-values from the IOS XR build and release process.\",\n xwCloudAskAssistanceEmailSubject: \"Login Problems\",\n xwCloudAskAssistanceLine1:\n \"If you encounter any login issues, please contact \",\n xwCloudAskAssistanceLine2: \" for assistance.\",\n xwCloudAskAssistanceTrafficChecklistEmailSubject:\n \"Having Issues with Traffic Analysis Setup\",\n year: \"Year\",\n yes: \"Yes\",\n you: \"You\",\n yourQueueIsFull: \"Your queue is full\",\n yourTrialHasBeenExpanded:\n \"Your trial has been expanded to support {newLimit} devices. Previous trial limit was {originalLimit} devices.\",\n zoom: \"Zoom\"\n }\n};\n","import * as logLevel from \"loglevel\";\nimport messages from \"../resources/messages\";\n\n// typesafe message lookup\nexport const label = messages[\"en-US\"];\n\n// to make logging easier\nexport const logger = logLevel;\n\nexport const labelParam = (\n template: string,\n keyValue: { [key: string]: string | number }\n): string => {\n const pattern = /{(.*?)}/g;\n return template.replace(pattern, (match, token): string => {\n if (typeof keyValue[token] === \"number\") {\n return keyValue[token].toString();\n } else {\n return keyValue[token] as string;\n }\n });\n};\n","import { useEffect } from 'react';\nconst useOutboundClickListener = (matomoInstance) => {\n const handleOutboundClick = (event) => {\n // The target is not guaranteed to be a link, it could be a child element.\n // Look up the element's parent until the anchor element is found.\n const findLinkElement = (el) => {\n if (el instanceof HTMLAnchorElement && el.href) {\n return el;\n }\n if (el instanceof HTMLElement && el.parentElement) {\n return findLinkElement(el.parentElement);\n }\n return null;\n };\n const target = findLinkElement(event.target);\n if (!(target instanceof HTMLAnchorElement)) {\n return;\n }\n const { href } = target;\n // Check if the click target differs from the current hostname, meaning it's external\n if (\n // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec\n !href.match(new RegExp(`^(http://www.|https://www.|http://|https://)+(${window.location.hostname})`))) {\n matomoInstance.trackLink({ href });\n }\n };\n useEffect(() => {\n window.document.addEventListener('click', handleOutboundClick, {\n capture: true,\n });\n return () => window.document.removeEventListener('click', handleOutboundClick, {\n capture: true,\n });\n }, []);\n};\nexport default useOutboundClickListener;\n//# sourceMappingURL=useOutboundClickListener.js.map","import { useCallback, useContext } from 'react';\nimport MatomoContext from './MatomoContext';\nimport useOutboundClickListener from './utils/useOutboundClickListener';\nfunction useMatomo() {\n const instance = useContext(MatomoContext);\n const trackPageView = useCallback((params) => instance === null || instance === void 0 ? void 0 : instance.trackPageView(params), [instance]);\n const trackEvent = useCallback((params) => instance === null || instance === void 0 ? void 0 : instance.trackEvent(params), [instance]);\n const trackEvents = useCallback(() => instance === null || instance === void 0 ? void 0 : instance.trackEvents(), [instance]);\n const trackSiteSearch = useCallback((params) => instance === null || instance === void 0 ? void 0 : instance.trackSiteSearch(params), [instance]);\n const trackLink = useCallback((params) => instance === null || instance === void 0 ? void 0 : instance.trackLink(params), [instance]);\n const enableLinkTracking = useCallback(() => {\n if (instance) {\n useOutboundClickListener(instance);\n }\n }, [instance]);\n const pushInstruction = useCallback((name, ...args) => {\n instance === null || instance === void 0 ? void 0 : instance.pushInstruction(name, ...args);\n }, [instance]);\n return {\n trackEvent,\n trackEvents,\n trackPageView,\n trackSiteSearch,\n trackLink,\n enableLinkTracking,\n pushInstruction,\n };\n}\nexport default useMatomo;\n//# sourceMappingURL=useMatomo.js.map","import { useMatomo } from \"@datapunt/matomo-tracker-react\";\nimport * as React from \"react\";\nimport { PageRouteProps } from \"./pageRoute\";\nimport { getCurrentUser, isCiscoUser } from \"../services/authService\";\nimport { UserTracking } from \"generated-proto-files/schema_gen_pb\";\n\nconst excludeURLs = [\"^\\\\/settings\\\\/user\\\\/.*\"];\n\nconst trackMatomoPageEvent = (props: PageRouteProps): void => {\n const pathName = props.location?.pathname;\n if (\n (isCiscoUser() ||\n (window.xw &&\n window.xw.preferences?.getTracking() !==\n UserTracking.USER_TRACKING_ENABLED) ||\n (pathName && excludeURLs.find((url) => pathName.match(url)))) &&\n (!sessionStorage.getItem(\"enableTracking\") ||\n sessionStorage.getItem(\"enableTracking\") !== \"true\")\n ) {\n // Do not track for \"*@.cisco.com, and urls which are considered sensitive like user details and opted-out users\n return;\n }\n // const orgId = getCurrentUser()?.AccessToken?.claims.org;\n const { enableLinkTracking, pushInstruction } = useMatomo();\n\n enableLinkTracking();\n React.useEffect(() => {\n pushInstruction(\"trackPageView\");\n pushInstruction(\"setDocumentTitle\", props.title);\n\n if (props?.location?.pathname) {\n pushInstruction(\"setCustomUrl\", props.location?.pathname);\n }\n if (getCurrentUser()?.AccessToken?.claims.userId) {\n pushInstruction(\n \"setUserId\",\n getCurrentUser()?.AccessToken?.claims.userId\n );\n }\n if (document.referrer) {\n pushInstruction(\"setCustomDimension\", \"1\", document.referrer);\n }\n // pushInstruction(\"setCustomDimension\", \"1\", orgId); // custom dimension id setting in matomo\n }, [props.location, props.title]);\n};\n\nexport const withTrackingHOC = (Component: unknown) => {\n return (props: PageRouteProps): JSX.Element => {\n trackMatomoPageEvent(props);\n // @ts-ignore\n return ;\n };\n};\n\nclass TrackingComponent extends React.Component {\n render(): React.ReactNode {\n return <>{this.props.children};\n }\n}\n\nexport default withTrackingHOC(TrackingComponent);\n","// eslint-disable-next-line import/prefer-default-export\nexport const TRACK_TYPES = {\n TRACK_EVENT: 'trackEvent',\n TRACK_LINK: 'trackLink',\n TRACK_SEARCH: 'trackSiteSearch',\n TRACK_VIEW: 'trackPageView',\n TRACK_ECOMMERCE_ORDER: 'trackEcommerceOrder',\n TRACK_ECOMMERCE_CART_UPDATE: 'trackEcommerceCartUpdate',\n};\n//# sourceMappingURL=constants.js.map","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TRACK_TYPES } from './constants';\nclass MatomoTracker {\n constructor(userOptions) {\n if (!userOptions.urlBase) {\n throw new Error('Matomo urlBase is required.');\n }\n if (!userOptions.siteId) {\n throw new Error('Matomo siteId is required.');\n }\n this.initialize(userOptions);\n }\n initialize({ urlBase, siteId, userId, trackerUrl, srcUrl, disabled, heartBeat, linkTracking = true, configurations = {}, }) {\n var _a;\n const normalizedUrlBase = urlBase[urlBase.length - 1] !== '/' ? `${urlBase}/` : urlBase;\n if (typeof window === 'undefined') {\n return;\n }\n window._paq = window._paq || [];\n if (window._paq.length !== 0) {\n return;\n }\n if (disabled) {\n return;\n }\n this.pushInstruction('setTrackerUrl', trackerUrl !== null && trackerUrl !== void 0 ? trackerUrl : `${normalizedUrlBase}matomo.php`);\n this.pushInstruction('setSiteId', siteId);\n if (userId) {\n this.pushInstruction('setUserId', userId);\n }\n Object.entries(configurations).forEach(([name, instructions]) => {\n if (instructions instanceof Array) {\n this.pushInstruction(name, ...instructions);\n }\n else {\n this.pushInstruction(name, instructions);\n }\n });\n // accurately measure the time spent on the last pageview of a visit\n if (!heartBeat || (heartBeat && heartBeat.active)) {\n this.enableHeartBeatTimer((_a = (heartBeat && heartBeat.seconds)) !== null && _a !== void 0 ? _a : 15);\n }\n // // measure outbound links and downloads\n // // might not work accurately on SPAs because new links (dom elements) are created dynamically without a server-side page reload.\n this.enableLinkTracking(linkTracking);\n const doc = document;\n const scriptElement = doc.createElement('script');\n const scripts = doc.getElementsByTagName('script')[0];\n scriptElement.type = 'text/javascript';\n scriptElement.async = true;\n scriptElement.defer = true;\n scriptElement.src = srcUrl || `${normalizedUrlBase}matomo.js`;\n if (scripts && scripts.parentNode) {\n scripts.parentNode.insertBefore(scriptElement, scripts);\n }\n }\n enableHeartBeatTimer(seconds) {\n this.pushInstruction('enableHeartBeatTimer', seconds);\n }\n enableLinkTracking(active) {\n this.pushInstruction('enableLinkTracking', active);\n }\n trackEventsForElements(elements) {\n if (elements.length) {\n elements.forEach((element) => {\n element.addEventListener('click', () => {\n const { matomoCategory, matomoAction, matomoName, matomoValue } = element.dataset;\n if (matomoCategory && matomoAction) {\n this.trackEvent({\n category: matomoCategory,\n action: matomoAction,\n name: matomoName,\n value: Number(matomoValue),\n });\n }\n else {\n throw new Error(`Error: data-matomo-category and data-matomo-action are required.`);\n }\n });\n });\n }\n }\n // Tracks events based on data attributes\n trackEvents() {\n const matchString = '[data-matomo-event=\"click\"]';\n let firstTime = false;\n if (!this.mutationObserver) {\n firstTime = true;\n this.mutationObserver = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n mutation.addedNodes.forEach((node) => {\n // only track HTML elements\n if (!(node instanceof HTMLElement))\n return;\n // check the inserted element for being a code snippet\n if (node.matches(matchString)) {\n this.trackEventsForElements([node]);\n }\n const elements = Array.from(node.querySelectorAll(matchString));\n this.trackEventsForElements(elements);\n });\n });\n });\n }\n this.mutationObserver.observe(document, { childList: true, subtree: true });\n // Now track all already existing elements\n if (firstTime) {\n const elements = Array.from(document.querySelectorAll(matchString));\n this.trackEventsForElements(elements);\n }\n }\n stopObserving() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n // Tracks events\n // https://matomo.org/docs/event-tracking/#tracking-events\n trackEvent(_a) {\n var { category, action, name, value } = _a, otherParams = __rest(_a, [\"category\", \"action\", \"name\", \"value\"]);\n if (category && action) {\n this.track(Object.assign({ data: [TRACK_TYPES.TRACK_EVENT, category, action, name, value] }, otherParams));\n }\n else {\n throw new Error(`Error: category and action are required.`);\n }\n }\n // Tracks site search\n // https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking\n trackSiteSearch(_a) {\n var { keyword, category, count } = _a, otherParams = __rest(_a, [\"keyword\", \"category\", \"count\"]);\n if (keyword) {\n this.track(Object.assign({ data: [TRACK_TYPES.TRACK_SEARCH, keyword, category, count] }, otherParams));\n }\n else {\n throw new Error(`Error: keyword is required.`);\n }\n }\n // Tracks outgoing links to other sites and downloads\n // https://developer.matomo.org/guides/tracking-javascript-guide#enabling-download-outlink-tracking\n trackLink({ href, linkType = 'link' }) {\n this.pushInstruction(TRACK_TYPES.TRACK_LINK, href, linkType);\n }\n // Tracks page views\n // https://developer.matomo.org/guides/spa-tracking#tracking-a-new-page-view\n trackPageView(params) {\n this.track(Object.assign({ data: [TRACK_TYPES.TRACK_VIEW] }, params));\n }\n // Adds a product to an Ecommerce order to be tracked via trackEcommerceOrder.\n // https://matomo.org/docs/ecommerce-analytics\n // https://matomo.org/docs/ecommerce-analytics/#1-addecommerceitemproductsku-productname-productcategory-price-quantity\n addEcommerceItem({ sku, productName, productCategory, productPrice = 0.0, productQuantity = 1, }) {\n this.pushInstruction('addEcommerceItem', sku, productName, productCategory, productPrice, productQuantity);\n }\n // Removes a product from an Ecommerce order to be tracked via trackEcommerceOrder.\n // https://matomo.org/docs/ecommerce-analytics\n removeEcommerceItem({ sku }) {\n this.pushInstruction('removeEcommerceItem', sku);\n }\n // Removes all products from an Ecommerce order to be tracked via trackEcommerceOrder.\n // https://matomo.org/docs/ecommerce-analytics\n clearEcommerceCart() {\n this.pushInstruction('clearEcommerceCart');\n }\n // Tracks an Ecommerce order containing items added via addEcommerceItem.\n // https://matomo.org/docs/ecommerce-analytics/#2-trackecommerceorderorderid-revenue-subtotal-tax-shipping-discount\n trackEcommerceOrder({ orderId, orderRevenue, orderSubTotal, taxAmount, shippingAmount, discountOffered = false, }) {\n this.track({\n data: [\n TRACK_TYPES.TRACK_ECOMMERCE_ORDER,\n orderId,\n orderRevenue,\n orderSubTotal,\n taxAmount,\n shippingAmount,\n discountOffered,\n ],\n });\n }\n // Tracks updates to an Ecommerce Cart before an actual purchase.\n // This will replace currently tracked information of the cart. Always include all items of the updated cart!\n // https://matomo.org/docs/ecommerce-analytics/#example-tracking-an-ecommerce-cart-update-containing-two-products\n trackEcommerceCartUpdate(amount) {\n this.pushInstruction(TRACK_TYPES.TRACK_ECOMMERCE_CART_UPDATE, amount);\n }\n // Marks the next page view as an Ecommerce product page.\n // https://matomo.org/docs/ecommerce-analytics/#example-tracking-a-product-page-view\n setEcommerceView({ sku, productName, productCategory, productPrice, }) {\n this.pushInstruction('setEcommerceView', sku, productName, productCategory, productPrice);\n }\n // Marks the next tracked page view as an Ecommerce category page.\n // https://matomo.org/docs/ecommerce-analytics/#example-tracking-a-category-page-view\n setEcommerceCategoryView(productCategory) {\n this.setEcommerceView({ productCategory, productName: false, sku: false });\n }\n // Sends the tracked page/view/search to Matomo\n track({ data = [], documentTitle = window.document.title, href, customDimensions = false, }) {\n if (data.length) {\n if (customDimensions &&\n Array.isArray(customDimensions) &&\n customDimensions.length) {\n customDimensions.map((customDimension) => this.pushInstruction('setCustomDimension', customDimension.id, customDimension.value));\n }\n this.pushInstruction('setCustomUrl', href !== null && href !== void 0 ? href : window.location.href);\n this.pushInstruction('setDocumentTitle', documentTitle);\n this.pushInstruction(...data);\n }\n }\n /**\n * Pushes an instruction to Matomo for execution, this is equivalent to pushing entries into the `_paq` array.\n *\n * For example:\n *\n * ```ts\n * pushInstruction('setDocumentTitle', document.title)\n * ```\n * Is the equivalent of:\n *\n * ```ts\n * _paq.push(['setDocumentTitle', document.title]);\n * ```\n *\n * @param name The name of the instruction to be executed.\n * @param args The arguments to pass along with the instruction.\n */\n pushInstruction(name, ...args) {\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line\n window._paq.push([name, ...args]);\n }\n return this;\n }\n}\nexport default MatomoTracker;\n//# sourceMappingURL=MatomoTracker.js.map","import MatomoTracker from './MatomoTracker';\nimport * as types from './types';\nexport default MatomoTracker;\nexport { types };\n//# sourceMappingURL=index.js.map","import MatomoTracker from '@datapunt/matomo-tracker-js';\nfunction createInstance(params) {\n return new MatomoTracker(params);\n}\nexport default createInstance;\n//# sourceMappingURL=instance.js.map","import React from 'react';\nimport MatomoContext from './MatomoContext';\nconst MatomoProvider = ({ children, value }) => {\n const Context = MatomoContext;\n return React.createElement(Context.Provider, { value: value }, children);\n};\nexport default MatomoProvider;\n//# sourceMappingURL=MatomoProvider.js.map","import React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { App } from \"./core/app\";\nimport \"./styles/styles.scss\";\nimport { Landing } from \"./pages/session/landing\";\nimport { getEnvironment } from \"./utils/env\";\nimport MatomoTracker from \"@datapunt/matomo-tracker-js\";\nimport { MatomoProvider, createInstance } from \"@datapunt/matomo-tracker-react\";\nimport { PageLoader } from \"./components/loader/pageLoader\";\nimport { logger } from \"./core/global\";\n\nconst MOUNT_NODE = document.getElementById(\"root\");\n\ninterface Props {}\ninterface State {\n matomo?: MatomoTracker;\n loading: boolean;\n}\n\nclass Root extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n matomo: undefined,\n loading: true\n };\n }\n\n componentDidMount(): void {\n getEnvironment()\n .then((env) => {\n if (\n env &&\n env.analytics_enable === \"true\" &&\n env.analytics_site_id &&\n env.analytics_url\n ) {\n this.setState({\n matomo: createInstance({\n urlBase: env.analytics_url,\n siteId: Number(env.analytics_site_id), // Unique Site Identifier in Matomo\n linkTracking: false, // required for SPA\n srcUrl: \"./matomo.js\",\n disabled: !(\n !!sessionStorage.getItem(\"enableTracking\") ||\n env.analytics_enable === \"true\"\n ),\n configurations: {\n enableJSErrorTracking: true // enables JS error logging\n }\n })\n });\n }\n this.setState({ loading: false });\n })\n .catch((err) => {\n this.setState({ loading: false });\n logger.error(\"error loading config\", err);\n });\n }\n\n render(): React.ReactNode {\n const { matomo, loading } = this.state;\n if (loading) {\n return ;\n }\n const component =\n window.location.href ===\n `${window.location.protocol}//${window.location.host}/` ? (\n \n ) : (\n \n );\n return matomo ? (\n {component}\n ) : (\n component\n );\n }\n}\n\nconst render = (): void => {\n ReactDOM.render(, MOUNT_NODE);\n};\n\nrender();\n","import { HashRouter, Route } from \"react-router-dom\";\nimport PreSignup from \"./preSignup\";\nimport React from \"react\";\nimport { Landing } from \"./landing\";\n\nexport default class SignupRoutes extends React.Component {\n render(): React.ReactNode {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import * as React from \"react\";\nimport { Constants } from \"../../core/constants\";\nimport { label, labelParam } from \"../../core/global\";\nimport { Button } from \"../../components/form/button/button\";\nimport { App } from \"../../core/app\";\nimport \"./landing.scss\";\nimport { Icon } from \"../../components/icon/icon\";\nimport { AnimatedLines } from \"../../components/animatedLines/animatedLines\";\nimport SignupRoutes from \"./signupRoutes\";\nimport Tracking from \"../../core/tracking\";\nimport { Environment, getEnvironment } from \"../../utils/env\";\n\ninterface CcniExternalRoutingCardProps {\n type: string;\n handleCreateAccount: () => void;\n}\n\nconst SUBSCRIPTION_TYPE = {\n ESSENTIAL: \"Essentials\",\n PREMIER: \"Premier\"\n};\n\nconst ExternalRoutingCard = (): JSX.Element => {\n return (\n
\n );\n};\n\nconst CcniExternalRoutingCard = ({\n type,\n handleCreateAccount\n}: CcniExternalRoutingCardProps): JSX.Element => {\n return (\n
\n
\n {label.crossworkCloud}{\" \"}\n {label.networkInsights} :{\" \"}\n {type}\n
\n
\n {type === SUBSCRIPTION_TYPE.ESSENTIAL\n ? label.freeOneYear\n : label.trial90Days}\n
\n
\n {type === SUBSCRIPTION_TYPE.ESSENTIAL ? (\n <>\n {label.freeAccess}\n {label.upToFivePrefixes}\n {label.keyFunctionalitiesInclude}\n \n ) : (\n <>\n {label.enjoy}\n {label.fullFeatureAccess}\n {label.allEssentialFeatures}\n \n )}\n
\n
\n {type === SUBSCRIPTION_TYPE.ESSENTIAL ? (\n
\n {JSON.parse(label.ccniPromoEssentialsDesc.replace(/'/g, '\"')).map(\n (feature: string, index: number) => (\n // eslint-disable-next-line react/no-array-index-key\n
  • \n {feature}\n
  • \n )\n )}\n
    \n ) : (\n
    \n {JSON.parse(label.ccniPromoPremierDesc.replace(/'/g, '\"')).map(\n (feature: string, index: number) => (\n // eslint-disable-next-line react/no-array-index-key\n
  • \n {feature}\n
  • \n )\n )}\n
    \n )}\n
    \n
    \n {type === SUBSCRIPTION_TYPE.ESSENTIAL ? (\n
    \n \n {label.signUp}\n \n
    \n ) : (\n \n \n {label.signUp}\n \n \n )}\n
    \n
    \n );\n};\n\nconst Footer = (): JSX.Element => {\n return (\n
    \n
    {Landing.getFooterYearValue()}
    \n
    \n \n {label.contacts}\n \n \n {label.resellers}\n \n \n {label.documentation}\n \n \n {label.termsAndConditions}\n \n \n {label.privacyStatement}\n \n
    \n
    \n );\n};\n\ninterface DefaultLandingProps {\n handleCreateAccount: () => void;\n handleGoToDashboardClick: () => void;\n}\n\nconst DefaultLanding: React.FC = ({\n handleCreateAccount,\n handleGoToDashboardClick,\n ...rest\n}): JSX.Element => {\n return (\n <>\n
    \n \n
    \n
    \n \n
    \n {label.crosswork}\n {label.cloud}\n
    \n
    \n \n {label.newToCrossworkCloudMessage}\n \n \n {label.signUp}\n \n \n {label.login}\n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n {label.crosswork}\n {label.cloud}\n
    \n
    {label.crossworkBannerText}
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    {label.trafficAnalysis}
    \n
    {label.trafficDecription}
    \n
    \n \n \n {label.watchVideo}\n \n \n \n {label.moreInformation}\n \n
    \n
    \n
    \n
    \n \n
    \n
    {label.trustInsights}
    \n
    {label.trustDecription}
    \n
    \n \n \n {label.watchVideo}\n \n \n \n {label.moreInformation}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n {label.bgp}\n {label.mon}\n
    \n
    {label.bgpMonDescription}
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n );\n};\n\ninterface BGPMonLandingProps {\n createUserUrl: string | undefined;\n handleLogin: () => void;\n handleCreateAccount: () => void;\n}\n\ninterface CcniPromoLandingProps {\n handleCreateAccount: () => void;\n}\n\nconst BGPMonLanding: React.FC = ({\n createUserUrl,\n handleLogin,\n handleCreateAccount,\n ...rest\n}): JSX.Element => {\n return (\n <>\n
    \n \n
    \n
    \n \n
    \n
    \n \n BGP\n Mon is Now Part of\n \n \n {label.crosswork}\n {label.cloud}\n \n
    \n \n {label.signUp}\n \n \n {label.login}\n \n
    \n
    \n
    \n
    \n

    \n BGP\n Mon is Now Part of\n

    \n

    \n {label.crosswork}\n {label.cloud}\n

    \n
    \n
    \n

    {label.bgpMonEOLHint}

    \n

    {label.bgpMonReplacementHint}

    \n

    {label.bgpMonCreateCCNAccountHint}

    \n
    \n
    \n {label.needToCreateCCOAccount}\n {createUserUrl && (\n <>\n \n {label.here}\n \n {\".\"}\n \n )}\n
    \n
    \n {label.xwCloudAskAssistanceLine1}\n \n {Constants.XW_CLOUD_ASK_ASSISTANCE_EMAIL}\n \n {\".\"}\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n );\n};\n\nconst CcniPromoLanding: React.FC = ({\n handleCreateAccount,\n ...rest\n}): JSX.Element => {\n return (\n <>\n
    \n \n
    \n
    \n \n \n {label.crosswork}\n {label.cloud}\n \n
    \n\n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n {label.crosswork}\n {label.cloud}\n
    \n
    \n {label.ccniPromoLandingDescText}\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n \n );\n};\n\ninterface Props {\n route?: pages;\n}\n\ntype pages = \"dashboard\" | \"signup\" | \"landing\" | \"bgpmon\" | \"ccnipromo\";\ninterface State {\n selectedRoute: pages;\n createUserUrl: string | undefined;\n}\nexport class Landing extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n selectedRoute: this.props.route || \"landing\",\n createUserUrl: undefined\n };\n }\n\n static getFooterYearValue(): string {\n const year = new Date().getFullYear();\n return labelParam(label.footer, { year });\n }\n\n componentDidMount(): void {\n const { route } = this.props;\n if (route === \"bgpmon\") {\n getEnvironment().then((environment: Environment) => {\n this.setState({\n createUserUrl: environment.enroll_url\n });\n });\n }\n }\n\n handleGoToDashboardClick = (): void => {\n this.setState({ selectedRoute: \"dashboard\" });\n };\n\n handleLogin = (): void => {\n this.setState({ selectedRoute: \"dashboard\" }, () => {\n window.location.hash = \"\";\n });\n };\n\n handleCreateAccount = (): void => {\n this.setState({ selectedRoute: \"signup\" }, () => {\n window.location.hash = \"#/signup\";\n });\n };\n\n render(): JSX.Element {\n const {\n handleLogin,\n handleCreateAccount,\n handleGoToDashboardClick,\n props,\n state\n } = this;\n const { selectedRoute, createUserUrl } = state;\n switch (selectedRoute) {\n case \"dashboard\":\n return ;\n case \"signup\":\n return ;\n case \"bgpmon\":\n return (\n \n );\n case \"ccnipromo\":\n return (\n \n );\n case \"landing\":\n default:\n return (\n \n );\n }\n }\n}\n","import * as React from \"react\";\nimport { Input } from \"../../components/form/input/input\";\nimport { Button } from \"../../components/form/button/button\";\nimport { label, labelParam, logger } from \"../../core/global\";\nimport { Constants } from \"../../core/constants\";\nimport { Validators } from \"../../components/form/validation\";\nimport \"./login.scss\";\nimport \"./fullPage.scss\";\nimport { Icon } from \"../../components/icon/icon\";\nimport { AnimatedLines } from \"../../components/animatedLines/animatedLines\";\nimport { Environment, getEnvironment } from \"../../utils/env\";\n\ninterface Props {}\n\ninterface State {\n emailField: string;\n emailValid: boolean;\n submitButtonDisabled: boolean;\n touched: boolean;\n currentLocation: string;\n forgotPassword?: string;\n createUserUrl: string | undefined;\n}\n\nexport default class Login extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = Login.getInitialState();\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleChange = this.handleChange.bind(this);\n logger.info(\"Loading login page\");\n }\n static getLocation(): string {\n let defaultUrl = `${window.location.protocol}//${window.location.host}/#/dashboard${Constants.PINNED}`;\n if (\n window.location.href ===\n `${window.location.protocol}//${window.location.host}/`\n ) {\n return defaultUrl;\n } else if (window.location.href.indexOf(\"invitation\") > 0) {\n defaultUrl = `${window.location.protocol}//${window.location.host}${window.location.search}#/dashboard`;\n } else if (window.location.href.indexOf(\"login\") > 0) {\n defaultUrl = `${defaultUrl}${window.location.search}`;\n } else {\n defaultUrl = `${window.location.href}`;\n }\n return defaultUrl;\n }\n\n static getFooterYearValue(): string {\n const year = new Date().getFullYear();\n return labelParam(label.footer, { year });\n }\n\n private static getInitialState(): State {\n return {\n emailField: \"\",\n emailValid: false,\n submitButtonDisabled: true,\n touched: false,\n currentLocation: Login.getLocation(),\n createUserUrl: undefined\n };\n }\n\n componentDidMount(): void {\n getEnvironment().then((environment: Environment) => {\n this.setState({\n createUserUrl: environment.enroll_url,\n forgotPassword: environment.forgot_password_url\n });\n });\n }\n\n handleChange(newVal: string, isValid: boolean): void {\n this.setState({\n emailField: newVal,\n submitButtonDisabled: !isValid\n });\n }\n\n handleSubmit(e: React.FormEvent): void {\n if (\n Validators.required(this.state.emailField) !== undefined ||\n Validators.email(this.state.emailField) !== undefined\n ) {\n e.preventDefault();\n return;\n }\n }\n\n handleClick(): void {\n // no-op\n }\n\n handleCreateAccount = (): void => {\n window.location.assign(\"/#/signup\");\n };\n\n render(): JSX.Element {\n const {\n emailField,\n submitButtonDisabled,\n currentLocation,\n forgotPassword,\n createUserUrl\n } = this.state;\n let newLocation = encodeURIComponent(currentLocation);\n\n const enableRemoteBackend = window.xw.getEnableRemoteBackend();\n if (enableRemoteBackend) {\n logger.warn(\"Note: Redirecting APIs as per ui/src/.env\");\n newLocation += \"&auth_bypass=true\";\n }\n\n const content = (\n
    \n \n
    \n \n {label.login}\n \n {createUserUrl && (\n \n )}\n
    \n
    \n {label.loginMessage2}\n {forgotPassword && (\n <>\n \n {label.actions.clickHere}\n \n {\".\"}\n \n )}\n
    \n
    \n {label.needToCreateCCOAccount2}\n {createUserUrl && (\n <>\n \n {label.here}\n \n {\".\"}\n \n )}\n
    \n
    \n {label.xwCloudAskAssistanceLine1}\n \n {Constants.XW_CLOUD_ASK_ASSISTANCE_EMAIL}\n \n {\".\"}\n
    \n
    \n );\n\n return (\n
    \n \n
    \n\n
    \n \n
    \n \n
    \n

    \n {label.crosswork}\n {label.cloud}\n

    \n {content}\n \n
    \n\n
    {Login.getFooterYearValue()}
    \n
    \n );\n }\n}\n","import * as React from \"react\";\nimport \"./preSignup.scss\";\nimport \"./fullPage.scss\";\nimport { Icon } from \"../../components/icon/icon\";\nimport { AnimatedLines } from \"../../components/animatedLines/animatedLines\";\nimport { Landing } from \"./landing\";\nimport { label } from \"../../core/global\";\nimport { Button } from \"../../components/form/button/button\";\nimport { Environment, getEnvironment } from \"../../utils/env\";\nimport { Constants } from \"../../core/constants\";\nimport { App } from \"../../core/app\";\nimport { RouteComponentProps, withRouter } from \"react-router-dom\";\n\ninterface Props extends RouteComponentProps {\n route: \"trial\" | \"free\";\n}\n\ninterface State {\n createUserUrl: string | undefined;\n code: string | undefined;\n proceedToLogin: boolean;\n}\n\nclass PreSignup extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = {\n createUserUrl: undefined,\n proceedToLogin: false,\n code: undefined\n };\n }\n\n componentDidMount(): void {\n const { route } = this.props;\n getEnvironment().then((environment: Environment) => {\n this.setState({\n createUserUrl: environment.enroll_url,\n code:\n route === \"trial\" ? environment.trial_token : environment.free_token\n });\n });\n }\n\n handleGoToNext = (): void => {\n const { route } = this.props;\n const urlStr = route === \"trial\" ? \"?trial=\" : \"?free=\";\n const regToken = new URLSearchParams(this.props.location.search).get(\n \"regToken\"\n );\n this.setState({ proceedToLogin: true }, () => {\n let url = urlStr + this.state.code;\n\n if (regToken) {\n url += `®Token=${regToken}`;\n }\n window.location.assign(url);\n });\n };\n\n renderSteps = (): React.ReactNode => {\n const { createUserUrl } = this.state;\n const { route } = this.props;\n return (\n
    \n \n
    \n
    \n
    \n \n
    \n

    \n {label.crosswork}\n {label.cloud}\n

    \n
    \n
    \n {route === \"trial\"\n ? label.trialAccountRequest\n : label.newAccountRequest}\n
    \n
    \n
    \n {label.you}\n {label.must}\n {route === \"trial\"\n ? label.activateTrialSubscription\n : label.activateAccount}\n
    \n

    \n {label.pleaseDoOneOfTheFollowing}\n

    \n
      \n
    1. \n \n {createUserUrl && (\n \n {label.clickHere}\n \n )}\n \n {label.haveCCOAccountDescription}\n
    2. \n OR\n
    3. \n {label.createCCOAccountDescription}\n {label.actions.next}\n
    4. \n
    \n
    \n {label.signupFooter}\n \n {route === \"trial\" ? label.trialGuide : label.freeGuide}\n \n
    \n
    \n \n {label.actions.next}\n \n
    \n
    \n\n
    {Landing.getFooterYearValue()}
    \n
    \n );\n };\n\n render(): React.ReactNode {\n if (this.state.proceedToLogin) {\n return ;\n }\n return this.renderSteps();\n }\n}\n\nexport default withRouter(PreSignup);\n","import {\n AlarmTypeMap,\n EndpointType,\n EndpointTypeMap,\n ReportType,\n ReportTypeMap\n} from \"generated-proto-files/schema_gen_pb\";\nimport {\n ContentRuleType,\n ContentRuleTypeMap,\n FeatureRuleType,\n FeatureRuleTypeMap,\n GeneralRuleType,\n GeneralRuleTypeMap,\n PeeringRuleType,\n PeeringRuleTypeMap,\n SubscriptionTier,\n SubscriptionTierMap\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { SubscriptionType } from \"generated-proto-files/subscriptions_pb\";\nimport { Endpoint } from \"generated-proto-files/api_pb\";\nimport { unreachable } from \"../../../utils/switch\";\nimport { label } from \"../../../core/global\";\nimport { PlanCategories } from \"./commonTierRules\";\n\nexport const ccniPlanCategory = [\n \"price\",\n \"basic\",\n \"premium\",\n \"general\",\n \"peering\",\n \"lookback\",\n \"report\",\n \"endpoints\",\n \"sso\",\n \"api\"\n] as const;\n\nexport const enforceCCNIRules = (): boolean => {\n return !!window.xw.tierInfo?.featureTierInfo?.getCcniRules()?.getDoEnforce();\n};\n\n// This enables tiering only for historical data lookup.\n// Switch back to enforceCCNIRules() ^^^ once doEnforce is enabled at global level for all tiers.\nexport const enforceCCNIContentRules = (): boolean => {\n const enforceContentRules = !!window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getDoEnforceContentRules();\n // if false, revert back to default behavior\n if (!enforceContentRules) {\n return enforceCCNIRules();\n }\n return enforceContentRules;\n};\n\n// This enables tiering only for policy rules enforcement.\n// Switch back to enforceCCNIRules() ^^^ once doEnforce is enabled at global level for all tiers.\nexport const enforceCCNIPolicyRules = (): boolean => {\n const enforcePolicyRules = !!window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getDoEnforcePolicyRules();\n // if false, revert back to default behavior\n if (!enforcePolicyRules) {\n return enforceCCNIRules();\n }\n return enforcePolicyRules;\n};\n\n// Backend unable to use oneOf Endpoint. Larger change required if it has to be an enum.\n// UI maintaining mapping for now\nexport function getSubscriptionNotificationEnumType(\n type: EndpointTypeMap[keyof EndpointTypeMap]\n): Endpoint.EndpointTypeCase | undefined {\n switch (type) {\n case EndpointType.EMAIL:\n return Endpoint.EndpointTypeCase.EMAIL;\n case EndpointType.S3:\n return Endpoint.EndpointTypeCase.S3;\n case EndpointType.GOOGLE_STORAGE:\n return Endpoint.EndpointTypeCase.GOOGLE_STORAGE;\n case EndpointType.SMS:\n return Endpoint.EndpointTypeCase.SMS;\n case EndpointType.SLACK:\n return Endpoint.EndpointTypeCase.SLACK;\n case EndpointType.TEAMS:\n return Endpoint.EndpointTypeCase.MICROSOFT_TEAMS;\n case EndpointType.WEBEX:\n return Endpoint.EndpointTypeCase.WEBEX_TEAMS;\n case EndpointType.PAGER_DUTY:\n return Endpoint.EndpointTypeCase.PAGER_DUTY;\n case EndpointType.TEST:\n return undefined;\n case EndpointType.INVALID_ENDPOINT:\n return undefined;\n default:\n unreachable(type);\n return undefined;\n }\n}\n\nexport function getNotificationEnumMap(): Map<\n EndpointTypeMap[keyof EndpointTypeMap],\n Endpoint.EndpointTypeCase\n> {\n const notificationMapper = new Map<\n EndpointTypeMap[keyof EndpointTypeMap],\n Endpoint.EndpointTypeCase\n >();\n for (const value of Object.values(EndpointType)) {\n const endpointValue = getSubscriptionNotificationEnumType(value);\n if (value !== undefined && endpointValue) {\n notificationMapper.set(\n value as unknown as EndpointTypeMap[keyof EndpointTypeMap],\n endpointValue\n );\n }\n }\n return notificationMapper;\n}\n\nexport const tierRestrictedAlarms = ():\n | AlarmTypeMap[keyof AlarmTypeMap][]\n | undefined => {\n return enforceCCNIPolicyRules()\n ? window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getProhibitedAlarmsList()\n : undefined;\n};\n\nexport const getCurrentCCNIPlan = ():\n | SubscriptionTierMap[keyof SubscriptionTierMap]\n | undefined => {\n return window.xw.tierInfo?.featureTierInfo?.getCcniRules()?.getFeatureTier();\n};\n\nexport const isCCNITrial = (): boolean => {\n return (\n window.xw.tierInfo?.features?.getNetworkInsightsType() ===\n SubscriptionType.TYPE_TRIAL\n );\n};\n\nexport const isMaxCCNITier = (): boolean => {\n return getCurrentCCNIPlan() === SubscriptionTier.PREMIER;\n};\n\nexport const isFreeCCNIUser = (): boolean => {\n return getCurrentCCNIPlan() === SubscriptionTier.FREE;\n};\nexport const hasROVAccess = (): boolean => {\n const currentTier = getCurrentCCNIPlan();\n return (\n currentTier === SubscriptionTier.ADVANTAGE ||\n currentTier === SubscriptionTier.PREMIER\n );\n};\n\nexport const tierRestrictedNotifications = ():\n | Endpoint.EndpointTypeCase[]\n | undefined => {\n if (enforceCCNIRules()) {\n const notificationEnumMap = getNotificationEnumMap();\n const prohibitedEndpoints: Endpoint.EndpointTypeCase[] = [];\n window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getProhibitedEndpointsList()\n .forEach((subscriptionNotification) => {\n const ep = notificationEnumMap.get(subscriptionNotification);\n if (ep) {\n prohibitedEndpoints.push(ep);\n }\n });\n return prohibitedEndpoints;\n }\n return undefined;\n};\n\nexport const tierRestrictedFeatures = ():\n | FeatureRuleTypeMap[keyof FeatureRuleTypeMap][]\n | undefined => {\n return enforceCCNIRules()\n ? window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getProhibitedFeaturesList()\n : undefined;\n};\n\nexport const hasAPIAccess = (): boolean => {\n return true;\n // Saving this for future change of mind\n /*!tierRestrictedFeatures()?.includes(\n FeatureRuleType.FEATURE_RULE_API_ACCESS\n );*/\n};\n\n// Utility method to access if user has report access\nexport const hasReportAccess = (\n reportName?: ReportTypeMap[keyof ReportTypeMap]\n): boolean => {\n const reportRules = enforceCCNIRules()\n ? window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getProhibitedReportsList()\n : undefined;\n return reportName && reportRules\n ? !reportRules?.find((rule) => rule === reportName)\n : !reportRules?.length;\n};\n\n// To check if topology available based on Config value. We need a day to collect the data before enabling UI.\nexport const isPrefixTopologyConfigOn = (): boolean => {\n if (window.xw.environmentConfig === undefined) {\n return true;\n }\n return window.xw.environmentConfig?.topology_ui_enable === \"true\";\n};\n\n// Utility method to check if the user has access to Topology based on tiering\nexport const hasPrefixTopologyAccess = (): boolean => {\n if (isPrefixTopologyConfigOn()) {\n const contentRules = window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getContentRulesList();\n const currentRule = contentRules?.filter(\n (rule) => rule.getRule() === ContentRuleType.CONTENT_RULE_PREFIX_TOPOLOGY\n );\n if (currentRule && currentRule?.length > 0) {\n return true;\n }\n }\n return false;\n};\n\n// Utility method to access if user has notifcation access\nexport const hasNotificationAccess = (\n notificationType: Endpoint.EndpointTypeCase\n): boolean => {\n return !tierRestrictedNotifications()?.includes(notificationType);\n};\n\nexport const generalRuleLabelDescription = (\n generalRuleMap: GeneralRuleTypeMap[keyof GeneralRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (generalRuleMap) {\n case GeneralRuleType.GENERAL_RULE_POLICIES:\n return {\n label: label.intentBasedPolicies,\n description: label.intentBasedPoliciesDescription\n };\n case GeneralRuleType.GENERAL_RULE_ALARMS:\n return {\n label: label.alarmDetails,\n description: label.alarmDetailDescription\n };\n case GeneralRuleType.GENERAL_RULE_PREFIXES:\n return {\n label: label.prefixDetails,\n description: label.prefixDetailDescription\n };\n case GeneralRuleType.GENERAL_RULE_PREFIX_LOOKING_GLASS:\n return {\n label: label.prefixLookingGlass,\n description: label.prefixLookingGlassDescription\n };\n case GeneralRuleType.GENERAL_RULE_ASNS:\n return {\n label: label.asnDetails,\n description: label.asnDetailsDescription\n };\n case GeneralRuleType.GENERAL_RULE_ASN_LOOKING_GLASS:\n return {\n label: label.asnLookingGlass,\n description: label.asnLookingGlassDescription\n };\n case GeneralRuleType.INVALID_GENERAL_RULE_TYPE:\n return undefined;\n default:\n unreachable(generalRuleMap);\n return undefined;\n }\n};\n\nexport const peeringRulesLabelDescription = (\n peeringRuleMap: PeeringRuleTypeMap[keyof PeeringRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (peeringRuleMap) {\n case PeeringRuleType.PEERING_RULE_MANAGE_DEVICES:\n return {\n label: label.manageExistingPeerDevices,\n description: label.manageExistingPeerDevicesDescription\n };\n case PeeringRuleType.PEERING_RULE_ADD_DEVICES:\n return {\n label: label.addNewPeerDevices,\n description: label.addNewPeerDevicesDescription\n };\n case PeeringRuleType.PEERING_RULE_GET_DEVICES:\n return {\n label: label.peerDeviceDetails,\n description: label.peerDeviceDetailsDescription\n };\n case PeeringRuleType.INVALID_PEERING_RULE_TYPE:\n return undefined;\n default:\n unreachable(peeringRuleMap);\n return undefined;\n }\n};\n\nexport const lookbackRulesLabelDescription = (\n contentRuleMap: ContentRuleTypeMap[keyof ContentRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (contentRuleMap) {\n case ContentRuleType.CONTENT_RULE_BGP_ALARM_UPDATE_HISTORY:\n return {\n label: label.alarmBGPUpdateHistory,\n description: label.alarmBGPUpdateHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_BGP_ASN_UPDATE_HISTORY:\n return {\n label: label.asnBGPUpdateHistory,\n description: label.asnBGPUpdateHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_BGP_PEER_DEVICE_UPDATE_HISTORY:\n return {\n label: label.peerDeviceBGPUpdateHistory,\n description: label.peerDeviceBGPUpdateHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_BGP_PREFIX_UPDATE_HISTORY:\n return {\n label: label.prefixBGPUpdateHistory,\n description: label.prefixBGPUpdateHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_BGP_UPDATE_HISTORY:\n return {\n label: label.bgpUpdateHistory,\n description: label.bgpUpdateHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_ALARM_HISTORY:\n return {\n label: label.alarmHistory,\n description: label.alarmHistoryDescription\n };\n case ContentRuleType.CONTENT_RULE_PREFIX_TOPOLOGY:\n return {\n label: label.prefixTopologyHistory,\n description: label.prefixTopologyDescription\n };\n case ContentRuleType.CONTENT_RULE_ROUTE_ORIGIN_VALIDATION:\n return {\n label: label.routeOriginValidation,\n description: label.routeOriginValidationDescription\n };\n case ContentRuleType.INVALID_CONTENT_RULE_TYPE:\n return undefined;\n default:\n unreachable(contentRuleMap);\n return undefined;\n }\n};\n\nexport const reportRulesLabelDescription = (\n reportMap: ReportTypeMap[keyof ReportTypeMap]\n): { label: string; description: string } | undefined => {\n switch (reportMap) {\n case ReportType.ASN_ROUTING:\n return {\n label: label.dailyASN,\n description: label.dailyASNDescription\n };\n case ReportType.PEER_STATS:\n return {\n label: label.allPeerReport,\n description: label.allPeerReportDescription\n };\n case ReportType.INVALID_REPORT:\n return undefined;\n default:\n unreachable(reportMap);\n return undefined;\n }\n};\n\nexport const endpointRulesLabelDescription = (\n endpointMap: EndpointTypeMap[keyof EndpointTypeMap]\n): { label: string; description: string } | undefined => {\n switch (endpointMap) {\n case EndpointType.EMAIL:\n return {\n label: label.enums.endpoints.email,\n description: label.emailDescription\n };\n case EndpointType.S3:\n return {\n label: label.enums.endpoints.s3,\n description: label.s3Description\n };\n case EndpointType.GOOGLE_STORAGE:\n return {\n label: label.enums.endpoints.google,\n description: label.gsDescription\n };\n case EndpointType.SLACK:\n return {\n label: label.enums.endpoints.slack,\n description: label.slackDescription\n };\n case EndpointType.SMS:\n return {\n label: label.enums.endpoints.sms,\n description: label.smsDescription\n };\n case EndpointType.WEBEX:\n return {\n label: label.enums.endpoints.teams,\n description: label.webexDescription\n };\n case EndpointType.TEAMS:\n return {\n label: label.enums.endpoints.microsoft,\n description: label.teamsDescription\n };\n case EndpointType.PAGER_DUTY:\n return {\n label: label.enums.endpoints.pager,\n description: label.pagerDutyDescription\n };\n case EndpointType.TEST:\n return undefined;\n case EndpointType.INVALID_ENDPOINT:\n return undefined;\n default:\n unreachable(endpointMap);\n return undefined;\n }\n};\n\nexport const apiRulesLabelDescription = (\n ssoMap: FeatureRuleTypeMap[keyof FeatureRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (ssoMap) {\n case FeatureRuleType.FEATURE_RULE_API_ACCESS:\n return {\n label: label.apiUsage,\n description: label.apiUsageDescription\n };\n case FeatureRuleType.FEATURE_RULE_TECH_SUPPORT:\n return {\n label: label.technicalSupport,\n description: label.technicalSupportDescription\n };\n case FeatureRuleType.INVALID_FEATURE_RULE_TYPE:\n return undefined;\n default:\n unreachable(ssoMap);\n return undefined;\n }\n};\n\nexport const getCCNICategoriesLabel = (categories: PlanCategories): string => {\n const ccniCategories = categories as typeof ccniPlanCategory[number];\n switch (ccniCategories) {\n case \"price\":\n return label.permittedPrefixes;\n case \"basic\":\n return label.basicAlarms;\n case \"premium\":\n return label.premiumAlarms;\n case \"general\":\n return label.generalFeatures;\n case \"peering\":\n return label.peeringFeatures;\n case \"lookback\":\n return label.dataLookBack;\n case \"report\":\n return label.reportCreation;\n case \"endpoints\":\n return label.endpoints;\n case \"sso\":\n return label.singleSignOn;\n case \"api\":\n return label.api;\n default:\n unreachable(ccniCategories);\n return label.null;\n }\n};\n","import * as React from \"react\";\nimport {\n CctaCloudIntegrationRuleType,\n CctaCloudIntegrationRuleTypeMap,\n CctaDeviceSupportRuleType,\n CctaDeviceSupportRuleTypeMap,\n CctaFunctionPackRuleType,\n CctaFunctionPackRuleTypeMap,\n CctaTrafficAnalysisRuleType,\n CctaTrafficAnalysisRuleTypeMap,\n DataLookbackRuleType,\n DataLookbackRuleTypeMap,\n SubscriptionRuleType,\n SubscriptionRuleTypeMap,\n SubscriptionTierMap,\n ContentRuleTypeMap,\n ContentRuleType\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { label } from \"../../../core/global\";\nimport { PlanCategories } from \"./commonTierRules\";\nimport { unreachable } from \"../../../utils/switch\";\nimport \"./commonTier.scss\";\nimport { SubscriptionType } from \"generated-proto-files/subscriptions_pb\";\n\nexport const trafficPlanCategory = [\n \"devices\",\n \"subscription\",\n \"alarms\",\n \"lookback\",\n \"analysis\",\n \"functionpack\",\n \"xwintegration\",\n \"devicesupport\",\n \"sso\"\n] as const;\n\nexport const enforceCCTARules = (): boolean => {\n return !!window.xw.tierInfo?.featureTierInfo?.getCctaRules()?.getDoEnforce();\n};\n\nexport const enforceCCTAContentRules = (): boolean => {\n const enforceContentRules = !!window.xw.tierInfo?.featureTierInfo\n ?.getCctaRules()\n ?.getDoEnforceContentRules();\n // if false, revert back to default behavior\n if (!enforceContentRules) {\n return enforceCCTARules();\n }\n return enforceContentRules;\n};\n\nexport const getCurrentFlowPlan = ():\n | SubscriptionTierMap[keyof SubscriptionTierMap]\n | undefined => {\n return window.xw.tierInfo?.featureTierInfo?.getCctaRules()?.getFeatureTier();\n};\n\nexport const getFlowCategoriesLabel = (\n categories: PlanCategories\n): React.ReactNode => {\n const trafficCategories = categories as typeof trafficPlanCategory[number];\n switch (trafficCategories) {\n case \"devices\":\n return label.permittedDevices;\n case \"subscription\":\n return label.subscription;\n case \"alarms\":\n return label.trafficAlarms;\n case \"lookback\":\n return label.dataLookBack;\n case \"analysis\":\n return label.trafficAnalysis;\n case \"functionpack\":\n return (\n
    \n {label.functionPack}\n
    {label.purchasedSeparately}
    \n
    \n );\n case \"xwintegration\":\n return label.crossworkCloudIntegrations;\n case \"devicesupport\":\n return label.deviceSupport;\n case \"sso\":\n return label.singleSignOn;\n default:\n unreachable(trafficCategories);\n return label.null;\n }\n};\n\nexport const isCCTATrial = (): boolean => {\n return (\n window.xw.tierInfo?.features?.getTrafficAnalysisType() ===\n SubscriptionType.TYPE_TRIAL\n );\n};\n\nexport const trafficAnalysisLabelDescription = (\n taRuleMap: CctaTrafficAnalysisRuleTypeMap[keyof CctaTrafficAnalysisRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (taRuleMap) {\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_PREFIX:\n return {\n label: label.prefixTrafficAnalysis,\n description: label.prefixTrafficAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_PREFIX_GROUP:\n return {\n label: label.prefixTrafficGroupAnalysis,\n description: label.prefixTrafficGroupAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_ASN:\n return {\n label: label.asnTrafficAnalysis,\n description: label.asnTrafficAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_ASN_GROUP:\n return {\n label: label.asnTrafficGroupAnalysis,\n description: label.asnTrafficGroupAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_INTERFACE:\n return {\n label: label.interfaceTrafficAnalysis,\n description: label.interfaceTrafficAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_INTERFACE_GROUP:\n return {\n label: label.interfaceTrafficGroupAnalysis,\n description: label.interfaceTrafficGroupAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_DEVICE:\n return {\n label: label.deviceTrafficAnalysis,\n description: label.deviceTrafficAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_DEVICE_GROUP:\n return {\n label: label.deviceTrafficGroupAnalysis,\n description: label.deviceTrafficGroupAnalysisDescription\n };\n case CctaTrafficAnalysisRuleType.CCTA_TRAFFIC_ANALYSIS_RECOMMENDATIONS:\n return {\n label: label.recommendations,\n description: label.deviceTrafficAnalysisRecommendationDescription\n };\n case CctaTrafficAnalysisRuleType.INVALID_CCTA_TRAFFIC_ANALYSIS_RULE_TYPE:\n return undefined;\n default:\n unreachable(taRuleMap);\n return undefined;\n }\n};\n\nexport const trafficFunctionPackLabelDescription = (\n taFunctionPackRuleMap: CctaFunctionPackRuleTypeMap[keyof CctaFunctionPackRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (taFunctionPackRuleMap) {\n case CctaFunctionPackRuleType.CCTA_FUNCTION_PACK_PEER_PROSPECTING:\n return {\n label: label.peerProspecting,\n description: label.peerProspectingDescription\n };\n case CctaFunctionPackRuleType.CCTA_FUNCTION_PACK_PEERING_OPTIMIZATION_EQUAL:\n return {\n label: label.loadBalancingEqualShare,\n description: label.loadBalancingEqualShareDescription\n };\n case CctaFunctionPackRuleType.CCTA_FUNCTION_PACK_PEERING_OPTIMIZATION_UNEQUAL:\n return {\n label: label.loadBalancingUnEqualShare,\n description: label.loadBalancingUnEqualShareDescription\n };\n case CctaFunctionPackRuleType.INVALID_CCTA_FUNCTION_PACK_RULE_TYPE:\n return undefined;\n default:\n unreachable(taFunctionPackRuleMap);\n return undefined;\n }\n};\n\nexport const trafficIntegrationLabelDescription = (\n taIntegrationRuleMap: CctaCloudIntegrationRuleTypeMap[keyof CctaCloudIntegrationRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (taIntegrationRuleMap) {\n case CctaCloudIntegrationRuleType.CCTA_CLOUD_INTEGRATION_IR_ROUTING:\n return {\n label: label.internalRoutingAnalytics,\n description: label.internalRoutingAnalyticsDescription\n };\n case CctaCloudIntegrationRuleType.CCTA_CLOUD_INTEGRATION_FLOW_REPLICATION:\n return {\n label: label.flowReplication,\n description: label.flowReplicationSubscriptionDescription\n };\n case CctaCloudIntegrationRuleType.INVALID_CCTA_CLOUD_INTEGRATION_RULE_TYPE:\n return undefined;\n default:\n unreachable(taIntegrationRuleMap);\n return undefined;\n }\n};\n\nexport const deviceSupportLabelDescription = (\n deviceSupportRuleMap: CctaDeviceSupportRuleTypeMap[keyof CctaDeviceSupportRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (deviceSupportRuleMap) {\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_MULTI_VENDOR:\n return {\n label: label.multiVendor,\n description: label.multiVendorDescription\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_SSHV2:\n return {\n label: label.sshv2,\n description: label.sshv2Description\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_BGP:\n return {\n label: label.bgp,\n description: label.bgpDescription\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_NETFLOW_V5_V9:\n return {\n label: label.netflowv5v9,\n description: label.netflowDescription\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_IP_FIX:\n return {\n label: label.ipfix,\n description: label.ipfixDescription\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_JFLOW:\n return {\n label: label.jflow,\n description: label.jflowDescription\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_SNMP_V2:\n return {\n label: label.snmpV2,\n description: label.snmpV2Description\n };\n case CctaDeviceSupportRuleType.CCTA_DEVICE_SUPPORT_SNMP_V3:\n return {\n label: label.snmpV3,\n description: label.snmpV3Description\n };\n case CctaDeviceSupportRuleType.INVALID_CCTA_DEVICE_SUPPORT_RULE_TYPE:\n return undefined;\n default:\n unreachable(deviceSupportRuleMap);\n return undefined;\n }\n};\n\nexport const flowSubscriptionLabelDescription = (\n subscriptionsRuleMap: SubscriptionRuleTypeMap[keyof SubscriptionRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (subscriptionsRuleMap) {\n case SubscriptionRuleType.SUBSCRIPTION_TERM:\n return {\n label: label.subscriptionTiers,\n description: label.cctaSubscriptionTermDescription\n };\n case SubscriptionRuleType.INVALID_SUBSCRIPTION_RULE_TYPE:\n return undefined;\n default:\n unreachable(subscriptionsRuleMap);\n return undefined;\n }\n};\n\nexport const dataRetentionLabelDescription = (\n dataLookbackRuleMap: DataLookbackRuleTypeMap[keyof DataLookbackRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (dataLookbackRuleMap) {\n case DataLookbackRuleType.DATA_RETENTION_AND_LOOKBACK:\n return {\n label: label.dataRetentionLookback,\n description: label.cctaDataRetentionLookbackDescription\n };\n case DataLookbackRuleType.INVALID_DATA_LOOKBACK_RULE_TYPE:\n return undefined;\n default:\n unreachable(dataLookbackRuleMap);\n return undefined;\n }\n};\n\nexport const contentRuleLabelDescription = (\n contentRuleMap: ContentRuleTypeMap[keyof ContentRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (contentRuleMap) {\n case ContentRuleType.CONTENT_RULE_ALARM_HISTORY:\n return {\n label: label.alarmHistory,\n description: label.alarmHistoryDescription\n };\n default:\n return undefined;\n }\n};\n","import {\n DataLookbackRuleType,\n DataLookbackRuleTypeMap,\n InventoryReportingRuleType,\n InventoryReportingRuleTypeMap,\n ReportingRuleType,\n ReportingRuleTypeMap,\n SubscriptionRuleType,\n SubscriptionRuleTypeMap,\n SubscriptionTierMap\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { SubscriptionType } from \"generated-proto-files/subscriptions_pb\";\n\nimport { unreachable } from \"../../../utils/switch\";\nimport { label } from \"../../../core/global\";\nimport { PlanCategories } from \"./commonTierRules\";\n\nexport const trustPlanCategory = [\n \"devices\",\n \"subscription\",\n \"lookback\",\n \"alarms\",\n \"reporting\",\n \"inventory\",\n \"sso\"\n] as const;\n\nexport const getCurrentTrustPlan = ():\n | SubscriptionTierMap[keyof SubscriptionTierMap]\n | undefined => {\n return window.xw.tierInfo?.featureTierInfo?.getCctiRules()?.getFeatureTier();\n};\n\nexport const isCCTITrial = (): boolean => {\n return (\n window.xw.tierInfo?.features?.getTrustInsightsType() ===\n SubscriptionType.TYPE_TRIAL\n );\n};\n\nexport const getTrustCategoriesLabel = (categories: PlanCategories): string => {\n const trustCategories = categories as typeof trustPlanCategory[number];\n switch (trustCategories) {\n case \"devices\":\n return label.permittedDevices;\n case \"subscription\":\n return label.subscription;\n case \"lookback\":\n return label.dataLookBack;\n case \"inventory\":\n return label.inventoryReporting;\n case \"reporting\":\n return label.trustReporting;\n case \"sso\":\n return label.singleSignOn;\n case \"alarms\":\n return label.trustAlarms;\n default:\n unreachable(trustCategories);\n return label.null;\n }\n};\n\nexport const inventoryRuleLabelDescription = (\n inventoryRuleMap: InventoryReportingRuleTypeMap[keyof InventoryReportingRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (inventoryRuleMap) {\n case InventoryReportingRuleType.TRUST_INVENTORY_REPORTING_SYSTEM_CHANGE_HISTORY:\n return {\n label: label.systemChangeHistory,\n description: label.systemChangeHistoryDescription\n };\n case InventoryReportingRuleType.TRUST_INVENTORY_REPORTING_IMMUTABLE_EVIDENCE_CHAIN:\n return {\n label: label.immutableEvidenceChain,\n description: label.immutableEvidenceChainDescription\n };\n case InventoryReportingRuleType.TRUST_INVENTORY_REPORTING_DEVICE_SOFTWARE_COMPARISON:\n return {\n label: label.deviceSoftwareComparison,\n description: label.deviceSoftwareComparisonDescription\n };\n case InventoryReportingRuleType.TRUST_INVENTORY_REPORTING_DEVICE_HARDWARE_COMPARISON:\n return {\n label: label.deviceHardwareComparison,\n description: label.deviceHardwareComparisonDescription\n };\n case InventoryReportingRuleType.INVALID_TRUST_INVENTORY_REPORTING_RULE_TYPE:\n return undefined;\n default:\n unreachable(inventoryRuleMap);\n return undefined;\n }\n};\n\nexport const trustReportingRuleLabelDescription = (\n trustRuleMap: ReportingRuleTypeMap[keyof ReportingRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (trustRuleMap) {\n case ReportingRuleType.TRUST_REPORTING_HARDWARE_INTEGRITY_VALIDATION:\n return {\n label: label.hardwareIntegrityValidation,\n description: label.hardwareValidationDescription\n };\n case ReportingRuleType.TRUST_REPORTING_SOFTWARE_INTEGRITY_VALIDATION:\n return {\n label: label.softwareValidation,\n description: label.softwareValidationDescription\n };\n case ReportingRuleType.TRUST_REPORTING_PROCESS_INTEGRITY_VALIDATION:\n return {\n label: label.processIntegrityValidation,\n description: label.processIntegrityValidationDescription\n };\n case ReportingRuleType.TRUST_REPORTING_XR_PACKAGE_SIGNATURE:\n return {\n label: label.xrPackageSignatureSupport,\n description: label.xrPackageSignatureSupportDescription\n };\n case ReportingRuleType.TRUST_REPORTING_XR_ENHANCED_FILE_SYSTEM_INTEGRITY:\n return {\n label: label.xrEnhancedFileSystemIntegrityReporting,\n description: label.xrEnhancedFileSystemIntegrityReportingDescription\n };\n case ReportingRuleType.INVALID_TRUST_REPORTING_RULE_TYPE:\n return undefined;\n default:\n unreachable(trustRuleMap);\n return undefined;\n }\n};\n\nexport const trustSubscriptionLabelDescription = (\n subscriptionsRuleMap: SubscriptionRuleTypeMap[keyof SubscriptionRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (subscriptionsRuleMap) {\n case SubscriptionRuleType.SUBSCRIPTION_TERM:\n return {\n label: label.subscriptionTiers,\n description: label.cctiSubscriptionTermDescription\n };\n case SubscriptionRuleType.INVALID_SUBSCRIPTION_RULE_TYPE:\n return undefined;\n default:\n unreachable(subscriptionsRuleMap);\n return undefined;\n }\n};\n\nexport const dataRetentionLabelDescription = (\n dataLookbackRuleMap: DataLookbackRuleTypeMap[keyof DataLookbackRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (dataLookbackRuleMap) {\n case DataLookbackRuleType.DATA_RETENTION_AND_LOOKBACK:\n return {\n label: label.dataRetentionLookback,\n description: label.dataRetentionLookbackDescription\n };\n case DataLookbackRuleType.INVALID_DATA_LOOKBACK_RULE_TYPE:\n return undefined;\n default:\n unreachable(dataLookbackRuleMap);\n return undefined;\n }\n};\n","import {\n ContentRuleType,\n ContentRuleTypeMap,\n SignonRuleType,\n SignonRuleTypeMap,\n SubscriptionTier,\n SubscriptionTierMap,\n SubscriptionPlatformMap,\n SubscriptionPlatform,\n SubscriptionFeature,\n SubscriptionFeatureMap,\n LimitRuleType,\n LimitRuleTypeMap\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { FeatureTierInfo } from \"generated-proto-files/tiers_pb\";\nimport { TierDefinition } from \"generated-proto-files/datasheets_pb\";\nimport { unreachable } from \"../../../utils/switch\";\nimport { TimeRangeOption } from \"../../../utils/date\";\nimport { label } from \"../../../core/global\";\nimport * as React from \"react\";\nimport { Icon, themeName } from \"../../../components/icon/icon\";\nimport uuid from \"../../../utils/uuid\";\nimport { PageSection } from \"../../../components/pageSection/pageSection\";\nimport { Expander } from \"../../../components/expander/expander\";\nimport { reverseMapping } from \"../../../utils/enum\";\nimport {\n ccniPlanCategory,\n enforceCCNIContentRules,\n getCCNICategoriesLabel,\n isCCNITrial\n} from \"./ccniTierRules\";\nimport {\n getTrustCategoriesLabel,\n isCCTITrial,\n trustPlanCategory\n} from \"./cctiTierRules\";\nimport {\n enforceCCTAContentRules,\n getFlowCategoriesLabel,\n isCCTATrial,\n trafficPlanCategory\n} from \"./cctaTierRules\";\nimport { Features } from \"generated-proto-files/glokta_pb\";\nimport { SVGIcon } from \"../../../components/icon/SVGIcon\";\nimport CCNIAdvantageTier from \"../../../assets/images/color-icon-ccni-advantage-tier.png\";\nimport CCNIEssentialsTier from \"../../../assets/images/color-icon-ccni-essentials-tier.png\";\nimport CCNIFreeTier from \"../../../assets/images/color-icon-ccni-free-tier.png\";\nimport CCNIPremierTier from \"../../../assets/images/color-icon-ccni-premier-tier.png\";\nimport CCTAEssentialsTier from \"../../../assets/images/color-icon-ccta-essentials-tier.png\";\nimport CCTAEssentialsFunctionTier from \"../../../assets/images/color-icon-ccta-essentials+function-tier.png\";\nimport CCTIEssentialsTier from \"../../../assets/images/color-icon-ccti-essentials-tier.png\";\nimport CCTIEmbeddedVoucherTier from \"../../../assets/images/color-icon-ccti-embeddedvoucher-tier.png\";\nimport CAvailable from \"../../../assets/icons/circle-available.svg\";\nimport CEmpty from \"../../../assets/icons/circle-empty.svg\";\nimport { SelectOption } from \"../../../components/form/select/select\";\n\nexport interface TierInfo {\n featureTierInfo?: FeatureTierInfo;\n subscriptionTier?: SubscriptionTierInfo;\n features?: Features;\n}\n\nexport interface SubscriptionTierInfo {\n isFreeUser: boolean;\n hasActiveSubscription: boolean;\n usageAboveThreshold: boolean;\n}\n\nexport type PlanCategories =\n | typeof ccniPlanCategory[number]\n | typeof trustPlanCategory[number]\n | typeof trafficPlanCategory[number];\n\nexport type Availability =\n | \"available\"\n | \"notavailable\"\n | \"partial\"\n | \"additional\";\nexport type TierPlanAvailable = {\n tier: SubscriptionTierMap[keyof SubscriptionTierMap];\n availability: React.ReactNode;\n planValue: Availability | string;\n};\nexport type PlanItem = {\n header: React.ReactNode;\n description: React.ReactNode;\n tierPlanAvailablity: TierPlanAvailable[];\n};\nexport type Plans = {\n category: PlanCategories;\n items: PlanItem[];\n groupHeader: TierPlanAvailable[];\n};\n\nexport type PlanOffering = {\n header?: string;\n description?: string;\n tier: SubscriptionTierMap[keyof SubscriptionTierMap];\n planValue: Availability | string;\n};\n\nexport type DaysLookback = \"1h\" | 1 | 7 | 30 | 90 | \"Custom\";\n\nexport function getLookbackMapper(\n days: DaysLookback\n): TimeRangeOption | undefined {\n switch (days) {\n case \"1h\":\n return TimeRangeOption.lastHour;\n case 1:\n return TimeRangeOption.lastDay;\n case 7:\n return TimeRangeOption.lastWeek;\n case 30:\n return TimeRangeOption.last30Days;\n case 90:\n return TimeRangeOption.last90Days;\n case \"Custom\":\n return TimeRangeOption.custom;\n default:\n unreachable(days);\n return undefined;\n }\n}\n\nexport const getCurrentTier = ():\n | SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n | undefined => {\n const { hash } = window.location;\n if (hash) {\n if (hash.startsWith(\"/extRoute\", 1)) {\n return SubscriptionFeature.FEATURE_CCNI;\n } else if (hash.startsWith(\"/traffic\", 1)) {\n return SubscriptionFeature.FEATURE_CCTA;\n } else if (hash.startsWith(\"/trust\", 1)) {\n return SubscriptionFeature.FEATURE_CCTI;\n }\n }\n return undefined;\n};\n\nexport const isCurrentTierTrial = (\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): boolean => {\n switch (featureType) {\n case SubscriptionFeature.FEATURE_CCNI:\n return isCCNITrial();\n case SubscriptionFeature.FEATURE_CCTI:\n return isCCTITrial();\n case SubscriptionFeature.FEATURE_CCTA:\n return isCCTATrial();\n case SubscriptionFeature.INVALID_FEATURE:\n return false;\n default:\n unreachable(featureType);\n return false;\n }\n};\n\nexport const tierRestrictedLookbackDays = (\n contentRule: ContentRuleTypeMap[keyof ContentRuleTypeMap] = ContentRuleType.CONTENT_RULE_BGP_ASN_UPDATE_HISTORY,\n tier = getCurrentTier()\n): number | undefined => {\n if (!tier) {\n return undefined;\n }\n const contentRules = window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getContentRulesList();\n const currentRule = contentRules?.filter(\n (rule) => contentRule === rule.getRule()\n );\n const numberofDays =\n (currentRule && currentRule.length && currentRule[0].getDays()) || 0;\n switch (tier) {\n case SubscriptionFeature.FEATURE_CCNI:\n if (numberofDays && enforceCCNIContentRules()) {\n return numberofDays;\n }\n return undefined;\n case SubscriptionFeature.FEATURE_CCTI:\n return undefined;\n case SubscriptionFeature.FEATURE_CCTA: {\n const contentCCTARules = window.xw.tierInfo?.featureTierInfo\n ?.getCctaRules()\n ?.getContentRulesList();\n const currentCCTARule = contentCCTARules?.filter(\n (rule) => contentRule === rule.getRule()\n );\n const numOfDays = currentCCTARule?.[0]?.getDays() || 0;\n if (numOfDays && enforceCCTAContentRules()) {\n return numOfDays;\n }\n return undefined;\n }\n default:\n unreachable(tier);\n return undefined;\n }\n};\n\nexport const tierRestrictedDefaultLookbackDays = (\n contentRule: ContentRuleTypeMap[keyof ContentRuleTypeMap] = ContentRuleType.CONTENT_RULE_BGP_ASN_UPDATE_HISTORY,\n tier = getCurrentTier()\n): number | undefined => {\n const days = tierRestrictedLookbackDays(contentRule, tier);\n if (days && days > 1) {\n return 7; // default should be a week/7 days if not free tier\n }\n return days;\n};\n\nexport const tierRestrictedLookback = (\n tier = getCurrentTier()\n): TimeRangeOption | undefined => {\n if (!tier) {\n return undefined;\n }\n switch (tier) {\n case SubscriptionFeature.FEATURE_CCNI:\n // eslint-disable-next-line no-case-declarations\n const contentRules = window.xw.tierInfo?.featureTierInfo\n ?.getCcniRules()\n ?.getContentRulesList();\n // eslint-disable-next-line no-case-declarations\n const numberofDays =\n (contentRules && contentRules.length && contentRules[0].getDays()) || 0;\n if (numberofDays && enforceCCNIContentRules()) {\n // @ts-ignore\n return getLookbackMapper(numberofDays);\n }\n return undefined;\n case SubscriptionFeature.FEATURE_CCTI:\n case SubscriptionFeature.FEATURE_CCTA:\n return undefined;\n default:\n unreachable(tier);\n return undefined;\n }\n};\n\nexport const getMaxUsage = (\n tier: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): number | undefined => {\n switch (tier) {\n case SubscriptionFeature.FEATURE_CCNI:\n return (\n window.xw.tierInfo?.featureTierInfo?.getCcniRules()?.getMaxPrefixes() ||\n 0\n );\n case SubscriptionFeature.FEATURE_CCTI:\n return (\n window.xw.tierInfo?.featureTierInfo?.getCctiRules()?.getMaxDevices() ||\n 0\n );\n case SubscriptionFeature.FEATURE_CCTA:\n return (\n window.xw.tierInfo?.featureTierInfo?.getCctaRules()?.getMaxDevices() ||\n 0\n );\n case SubscriptionFeature.INVALID_FEATURE:\n return undefined;\n default:\n unreachable(tier);\n return undefined;\n }\n};\n\nexport const getFeatureIcon = (\n feature: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): string | undefined => {\n switch (feature) {\n case SubscriptionFeature.FEATURE_CCNI:\n return \"menu-external-routing\";\n case SubscriptionFeature.FEATURE_CCTI:\n return \"menu-trust-insights\";\n case SubscriptionFeature.FEATURE_CCTA:\n return \"menu-traffic-analysis\";\n case SubscriptionFeature.INVALID_FEATURE:\n return undefined;\n default:\n unreachable(feature);\n return undefined;\n }\n};\n\nexport const getFeatureTextWithLogo = (\n feature: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): React.ReactNode => {\n switch (feature) {\n case SubscriptionFeature.FEATURE_CCNI:\n return (\n
    \n \n
    {label.network}
    \n
    {label.insights}
    \n
    \n );\n case SubscriptionFeature.FEATURE_CCTI:\n return (\n
    \n \n
    {label.trust}
    \n
    {label.insights}
    \n
    \n );\n case SubscriptionFeature.FEATURE_CCTA:\n return (\n
    \n \n
    {label.traffic}
    \n
    {label.analysis}
    \n
    \n );\n case SubscriptionFeature.INVALID_FEATURE:\n return undefined;\n default:\n unreachable(feature);\n return undefined;\n }\n};\n\nexport const getProductLabel = (\n feature: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): string => {\n switch (feature) {\n case SubscriptionFeature.FEATURE_CCNI:\n return label.networkInsights;\n case SubscriptionFeature.FEATURE_CCTI:\n return label.trustInsights;\n case SubscriptionFeature.FEATURE_CCTA:\n return label.trafficAnalysis;\n case SubscriptionFeature.INVALID_FEATURE:\n return label.null;\n default:\n unreachable(feature);\n return label.null;\n }\n};\n\nexport const getFeatureLabel = (\n tier: SubscriptionTierMap[keyof SubscriptionTierMap]\n): string => {\n switch (tier) {\n case SubscriptionTier.FREE:\n return label.free;\n case SubscriptionTier.ESSENTIALS:\n return label.essentials;\n case SubscriptionTier.ADVANTAGE:\n return label.advantage;\n case SubscriptionTier.PREMIER:\n return label.premier;\n case SubscriptionTier.ADVANCED:\n return label.advanced;\n case SubscriptionTier.EMBEDDED:\n return label.embeddedVoucher;\n case SubscriptionTier.INVALID_TIER:\n return label.null;\n case SubscriptionTier.BASIC:\n return label.null;\n case SubscriptionTier.STANDARD:\n return label.null;\n default:\n unreachable(tier);\n return label.null;\n }\n};\n\nexport const generateAvailability = (\n planValue: string | Availability\n): React.ReactNode => {\n let availability: React.ReactNode = planValue;\n if (planValue === \"available\") {\n availability = } classNames=\"available\" />;\n } else if (planValue === \"notavailable\") {\n availability = } classNames=\"na\" />;\n } else if (planValue === \"partial\") {\n availability = (\n \n );\n } else if (planValue === \"additional\") {\n availability = (\n \n );\n }\n return availability;\n};\n\nexport const generateGroupHeader = (\n planItems: PlanItem[]\n): TierPlanAvailable[] => {\n const tierMap = new Map<\n SubscriptionTierMap[keyof SubscriptionTierMap],\n TierPlanAvailable\n >();\n planItems.forEach((item) => {\n const tierPlans = item?.tierPlanAvailablity.sort((a, b) => a.tier - b.tier);\n tierPlans?.forEach((plan) => {\n const tierFromMap = tierMap.get(plan.tier);\n if (!tierFromMap) {\n tierMap.set(plan.tier, plan);\n } else {\n const availability: Availability | string =\n tierFromMap.planValue !== plan.planValue ? \"partial\" : plan.planValue;\n tierMap.set(plan.tier, {\n ...tierFromMap,\n planValue: availability,\n availability: generateAvailability(availability)\n });\n }\n });\n });\n return [...tierMap.values()];\n};\n\nexport const renderTierAvailability = (\n tierItems: TierPlanAvailable[]\n): React.ReactNode => {\n return (\n
    \n {tierItems\n .sort((a, b) => a.tier - b.tier)\n .map((item) => {\n switch (item.tier) {\n case SubscriptionTier.FREE:\n case SubscriptionTier.ESSENTIALS:\n case SubscriptionTier.ADVANTAGE:\n case SubscriptionTier.PREMIER:\n case SubscriptionTier.EMBEDDED:\n return (\n
    \n {item.availability}\n
    \n );\n case SubscriptionTier.INVALID_TIER:\n case SubscriptionTier.BASIC:\n case SubscriptionTier.STANDARD:\n case SubscriptionTier.ADVANCED:\n return \"\";\n default:\n unreachable(item.tier);\n return \"\";\n }\n })}\n
    \n );\n};\n\nexport const planTierIcon = (fileName: string) => {\n switch (fileName) {\n case \"ccni-advantage\":\n return CCNIAdvantageTier;\n case \"ccni-essentials\":\n return CCNIEssentialsTier;\n case \"ccni-free\":\n return CCNIFreeTier;\n case \"ccni-premier\":\n return CCNIPremierTier;\n case \"ccta-essentials\":\n return CCTAEssentialsTier;\n case \"ccta-essentials+function\":\n return CCTAEssentialsFunctionTier;\n case \"ccti-essentials\":\n return CCTIEssentialsTier;\n case \"ccti-embeddedvoucher\":\n return CCTIEmbeddedVoucherTier;\n default:\n return CCNIFreeTier;\n }\n};\n\nexport const renderTierDefinition = (\n tierRef: React.Ref,\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap],\n tierDefinitions?: TierDefinition[],\n currentTier?: SubscriptionTierMap[keyof SubscriptionTierMap]\n): React.ReactNode => {\n if (!tierDefinitions || !tierDefinitions.length) {\n return undefined;\n }\n const tiers = tierDefinitions[0]\n .getTiersList()\n .sort((a, b) => a - b)\n .map((tier) => {\n const feature = reverseMapping(SubscriptionFeature)\n [featureType].replace(\"FEATURE_\", \"\")\n .toLowerCase();\n const tierLabel = getFeatureLabel(tier);\n const fileName = `${feature}-${tierLabel}`\n .toLowerCase()\n .replace(/\\s/g, \"\");\n if (currentTier === tier) {\n return (\n
    \n \n
    \n {tierLabel}\n {isCurrentTierTrial(featureType) ? `(${label.trial})` : \"\"}\n
    \n
    \n );\n } else {\n return (\n
    \n \n
    {tierLabel}
    \n
    \n );\n }\n });\n return
    {tiers}
    ;\n};\n\nexport const renderCurrentTier = (\n ref: React.Ref,\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap],\n tierDefinition?: TierDefinition[],\n currentTier?: SubscriptionTierMap[keyof SubscriptionTierMap]\n): React.ReactNode => {\n const currentPlan = currentTier ? getFeatureLabel(currentTier) : label.null;\n return (\n
    \n \n {currentPlan}{\" \"}\n {isCurrentTierTrial(featureType) ? ` - ${label.trial}` : \"\"}\n \n {renderTierDefinition(ref, featureType, tierDefinition, currentTier)}\n
    \n );\n};\n\nexport const renderPlans = (planItem: PlanItem): React.ReactNode => {\n return (\n
    \n \n {planItem.description}\n \n
    \n {renderTierAvailability(planItem.tierPlanAvailablity)}\n
    \n
    \n );\n};\n\nconst getCategoriesLabel = (\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap],\n category: PlanCategories\n): React.ReactNode => {\n switch (featureType) {\n case SubscriptionFeature.FEATURE_CCNI:\n return getCCNICategoriesLabel(category);\n case SubscriptionFeature.FEATURE_CCTI:\n return getTrustCategoriesLabel(category);\n case SubscriptionFeature.FEATURE_CCTA:\n return getFlowCategoriesLabel(category);\n case SubscriptionFeature.INVALID_FEATURE:\n return label.null;\n default:\n unreachable(featureType);\n return label.null;\n }\n};\n\nexport const renderSections = (\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap],\n plans: Plans[],\n planCategory: PlanCategories[]\n): React.ReactNode => {\n return planCategory\n .filter(\n (category) =>\n !(\n window.xw.environmentConfig?.trust_alarms_enabled !== \"true\" &&\n category === \"alarms\"\n )\n )\n .map((category) => {\n const categoriesSection = plans?.filter(\n (plan) => plan.category === category\n );\n return (\n
    \n \n {categoriesSection && categoriesSection.length\n ? categoriesSection[0].items.map((planItem): React.ReactNode => {\n return renderPlans(planItem);\n })\n : \"\"}\n \n
    \n );\n });\n};\n\nexport const limitRuleLabelDescription = (\n limitRuleMap: LimitRuleTypeMap[keyof LimitRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (limitRuleMap) {\n case LimitRuleType.LIMIT_RULE_PREFIXES:\n return {\n label: label.numberOfPrefixes,\n description: label.costBasedOnPrefixes\n };\n case LimitRuleType.LIMIT_RULE_DEVICES:\n return {\n label: label.numberOfDevices,\n description: label.costBasedOnDevices\n };\n case LimitRuleType.INVALID_LIMIT_RULE_TYPE:\n return undefined;\n default:\n return undefined;\n }\n};\n\nexport const ssoRulesLabelDescription = (\n ssoMap: SignonRuleTypeMap[keyof SignonRuleTypeMap]\n): { label: string; description: string } | undefined => {\n switch (ssoMap) {\n case SignonRuleType.SIGNON_SUPPORT:\n return {\n label: label.signOnSupport,\n description: label.signOnSupportDescription\n };\n case SignonRuleType.SIGNON_CISCO_ACCOUNTS:\n return {\n label: label.ciscoUserAccounts,\n description: label.ciscoUserAccountsDescription\n };\n case SignonRuleType.SIGNON_UNLIMITED_USERS:\n return {\n label: label.unlimitedUsers,\n description: label.unlimitedUsersDescription\n };\n case SignonRuleType.INVALID_SIGNON_RULE_TYPE:\n return undefined;\n default:\n unreachable(ssoMap);\n return undefined;\n }\n};\n\n// Utility method to check for regex path match and if enum value matches path\nexport function enumPathMatch(t: Map, path?: unknown): unknown {\n return [...t.entries()]\n .filter((val) => val[1] === path)\n .map((key) => key[0])[0] as unknown;\n}\n\nexport const getProductDescription = (\n feature: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): string | undefined => {\n switch (feature) {\n case SubscriptionFeature.FEATURE_CCNI:\n return label.externalRoutingDecription;\n case SubscriptionFeature.FEATURE_CCTI:\n return label.trustDecription;\n case SubscriptionFeature.FEATURE_CCTA:\n return label.trafficDecription;\n case SubscriptionFeature.INVALID_FEATURE:\n return undefined;\n default:\n unreachable(feature);\n return undefined;\n }\n};\n\nexport const getProductUsageText = (\n feature: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): string => {\n switch (feature) {\n case SubscriptionFeature.FEATURE_CCNI:\n return label.prefixes;\n case SubscriptionFeature.FEATURE_CCTI:\n case SubscriptionFeature.FEATURE_CCTA:\n return label.devices;\n case SubscriptionFeature.INVALID_FEATURE:\n return label.null;\n default:\n unreachable(feature);\n return label.null;\n }\n};\n\nexport const getBilledPlatformText = (\n platform: SubscriptionPlatformMap[keyof SubscriptionPlatformMap]\n): string => {\n switch (platform) {\n case SubscriptionPlatform.PLATFORM_AWS:\n return label.aws;\n case SubscriptionPlatform.PLATFORM_CROSSWORK:\n case SubscriptionPlatform.PLATFORM_SBP:\n return label.cisco;\n case SubscriptionPlatform.INVALID_PLATFORM:\n case SubscriptionPlatform.PLATFORM_STORE_FRONT:\n return label.null;\n default:\n unreachable(platform);\n return label.null;\n }\n};\n\nexport const getAvailableApplications = (): SelectOption[] => {\n const tierInfo = window.xw.tierInfo?.features;\n const applications: SelectOption[] = [];\n if (window.xw.tierInfo?.featureTierInfo?.getCcniRules()) {\n applications.push({\n label: getProductLabel(SubscriptionFeature.FEATURE_CCNI),\n value: SubscriptionFeature.FEATURE_CCNI.toString()\n });\n }\n if (tierInfo?.getTrustInsights()) {\n applications.push({\n label: getProductLabel(SubscriptionFeature.FEATURE_CCTI),\n value: SubscriptionFeature.FEATURE_CCTI.toString()\n });\n }\n if (tierInfo?.getTrafficAnalysis()) {\n applications.push({\n label: getProductLabel(SubscriptionFeature.FEATURE_CCTA),\n value: SubscriptionFeature.FEATURE_CCTA.toString()\n });\n }\n return applications;\n};\n","// Was getting error only one babel-polyfill is allowed, when logging out via new flow.\n// import \"babel-polyfill\";\n\nimport { grpc } from \"grpc-web-client\";\nimport { logger } from \"./global\";\n\n// TODO: this needs to be deleted, but linking to apiService causes issues, too\nclass ApiError {\n grpcResp?: grpc.UnaryOutput;\n jsonResp?: Response;\n\n setGrpcError(grpcResp: grpc.UnaryOutput): void {\n this.grpcResp = grpcResp;\n logger.error(this.getMessage());\n }\n\n setJsonError(jsonResp: Response): void {\n this.jsonResp = jsonResp;\n logger.error(this.getMessage());\n }\n\n getMessage(): string {\n if (this.grpcResp && this.grpcResp.statusMessage) {\n return this.grpcResp.statusMessage;\n } else if (this.jsonResp && this.jsonResp.statusText) {\n return this.jsonResp.statusText;\n }\n return \"Error\";\n }\n}\n\nconst createRequestHeadersWithBody = (\n method: string,\n body: string | undefined\n): RequestInit => {\n return {\n credentials: \"include\" as RequestCredentials, // I don't know why this is required\n method,\n body: JSON.stringify(body)\n };\n};\n\nconst baseFetch = async (\n method: string,\n url: string,\n body: string,\n jsonReponse = true\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): Promise => {\n const response = await fetch(url, createRequestHeadersWithBody(method, body));\n if (response.ok) {\n return jsonReponse ? response.json() : response;\n } else {\n const err = new ApiError();\n err.setJsonError(response);\n return Promise.reject(err);\n }\n};\n\nconst put = baseFetch.bind(undefined, \"PUT\");\nconst post = baseFetch.bind(undefined, \"POST\");\nconst get = baseFetch.bind(undefined, \"GET\");\n\nexport { get, put, post };\n","export default '00000000-0000-0000-0000-000000000000';","import {\n OrgGroup,\n OrgGroupMap,\n UiTheme,\n UiThemeMap\n} from \"generated-proto-files/auth_user_pb\";\nimport { put } from \"../core/service\";\nimport moment from \"moment-timezone\";\nimport { label, logger } from \"../core/global\";\nimport {\n SubscriptionFeature,\n SubscriptionFeatureMap,\n SubscriptionProductId,\n SubscriptionProductIdMap\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { unreachable } from \"../utils/switch\";\nimport {\n SubscriptionType,\n SubscriptionTypeMap\n} from \"generated-proto-files/subscriptions_pb\";\nimport {\n CdgContainerType,\n CdgContainerTypeMap\n} from \"generated-proto-files/ccios_gen_pb\";\nimport { reverseMapping } from \"../utils/enum\";\nimport { Constants } from \"../core/constants\";\nimport { NIL as NIL_UUID } from \"uuid\";\n\ntype OrgGroup = OrgGroupMap[keyof OrgGroupMap];\ntype UiTheme = UiThemeMap[keyof UiThemeMap];\n\nexport interface UserClaims {\n email: string;\n groups?: OrgGroup[];\n name: string;\n full_name?: string;\n prov: string;\n sub: string;\n org: string;\n iss: string;\n iat: number;\n exp: number;\n aud: string;\n userId: string;\n}\n\nexport interface Organization {\n orguuid: string;\n orgname: string;\n role: OrgGroup;\n}\n\nexport interface AccessToken {\n claims: UserClaims;\n expired: boolean;\n}\n\nexport interface RefreshToken {\n expired: boolean;\n claims: {\n exp: number;\n iat: number;\n sub: string;\n };\n}\n\nexport interface UserState {\n AccessToken: AccessToken;\n RefreshToken: RefreshToken;\n}\n\nexport interface UserPrefs {\n theme: UiTheme;\n timezone: string;\n}\n\nlet _currentUser: UserState;\n\nexport const checkValidSession = async (): Promise => {\n const resp = await fetch(\"/session/tokens/introspect\", {\n method: \"GET\"\n });\n const user = (await resp.json()) as UserState;\n _currentUser = user;\n return user;\n};\n\nexport function getCurrentUser(): UserState | undefined {\n return _currentUser;\n}\n\nexport function getCurrentUserClaims(): UserClaims | undefined {\n return _currentUser ? _currentUser.AccessToken.claims : undefined;\n}\n\nexport function isAdmin(): boolean {\n return _currentUser &&\n _currentUser.AccessToken.claims.groups &&\n _currentUser.AccessToken.claims.groups.length > 0\n ? _currentUser.AccessToken.claims.groups[0].toString() ===\n OrgGroup.ADMIN.toString()\n : false;\n}\n\nexport function isReadOnly(): boolean {\n return _currentUser &&\n _currentUser.AccessToken.claims.groups &&\n _currentUser.AccessToken.claims.groups.length > 0\n ? _currentUser.AccessToken.claims.groups[0].toString() ===\n OrgGroup.READ_ONLY.toString()\n : false;\n}\n\nconst DEFAULT_USER_PREFS = {\n theme: UiTheme.DARK,\n timezone: moment.tz.guess()\n};\n\nconst _currentUserPreferences: UserPrefs = {\n ...DEFAULT_USER_PREFS\n};\n\nexport function getCurrentUserPreferences(): UserPrefs {\n return _currentUserPreferences;\n}\n\nexport const getThemeCls = (theme: UiTheme): string => {\n switch (theme) {\n case UiTheme.DARK:\n return \"theme-dark\";\n case UiTheme.LIGHT:\n return \"theme-light\";\n case UiTheme.HIGH_CONTRAST:\n return \"theme-high-Contrast\";\n default:\n return \"theme-dark\";\n }\n};\n\nexport function isCiscoUser(): boolean {\n return (\n !!getCurrentUserClaims()?.name?.endsWith(\"@cisco.com\") ||\n !!getCurrentUserClaims()?.sub?.endsWith(\"@cisco.com\")\n );\n}\n\nexport function updateTheme(): void {\n if (document.body) {\n document.body.className = getThemeCls(_currentUserPreferences.theme);\n }\n}\n\nfunction setMomentTimezone(tz: string): void {\n moment.tz.setDefault(tz);\n logger.debug(`Current Timezone: ${tz}`);\n logger.debug(`Current Time: ${moment().toString()}`);\n}\n\nexport function setCurrentUserPreferences(userPreferences: UserPrefs): void {\n _currentUserPreferences.theme = userPreferences.theme;\n _currentUserPreferences.timezone = userPreferences.timezone;\n // moment zone can either be UTC or local timezone. These are the only 2 options available to user atm.\n const mTz =\n userPreferences.timezone === Constants.UTC\n ? userPreferences.timezone\n : moment.tz.guess();\n setMomentTimezone(mTz);\n updateTheme();\n}\n\n// Convert to gRPC call after OCT-1938 is fixed\nexport const setUserOrg = async (Org: string): Promise => {\n // @ts-ignore\n return put(\"/session/tokens/update\", { Org }, false);\n};\n\nexport function getCurrentUserRole(): OrgGroup {\n const currentUserClaims = getCurrentUserClaims();\n return currentUserClaims && currentUserClaims.groups\n ? currentUserClaims.groups[0] || OrgGroup.INVALID_ORG_GROUP\n : OrgGroup.INVALID_ORG_GROUP;\n}\n\nexport const getSubscriptionLabel = (\n type: SubscriptionFeatureMap[keyof SubscriptionFeatureMap]\n): string => {\n switch (type) {\n case SubscriptionFeature.FEATURE_CCTA:\n return label.trafficAnalysis;\n case SubscriptionFeature.FEATURE_CCTI:\n return label.trustInsights;\n case SubscriptionFeature.FEATURE_CCNI:\n return label.externalRouteAnalysis;\n case SubscriptionFeature.INVALID_FEATURE:\n return label.null;\n default:\n unreachable(type);\n }\n return label.null;\n};\n\nconst deviceSizes = new Map([\n [\"XS\", label.extraSmall],\n [\"S\", label.small],\n [\"M\", label.medium],\n [\"L\", label.large],\n [\"XL\", label.extraLarge]\n]);\n\nconst getProductSize = (\n productId: SubscriptionProductIdMap[keyof SubscriptionProductIdMap]\n): string => {\n const key = reverseMapping(SubscriptionProductId)[productId];\n const deviceSize = deviceSizes.get(key.substring(key.lastIndexOf(\"_\") + 1));\n if (deviceSize) {\n return deviceSize;\n }\n return label.null;\n};\n\n// eslint-disable-next-line complexity\nexport const getLicenseType = (\n subscription: SubscriptionProductIdMap[keyof SubscriptionProductIdMap],\n detailed?: boolean\n): string | undefined => {\n switch (subscription) {\n case SubscriptionProductId.L_SPAUTO_NI_IB:\n case SubscriptionProductId.L_SEC_NI_IB:\n case SubscriptionProductId.L_SEC_SP_NI_IB:\n case SubscriptionProductId.L_CLOUD_NI_IB:\n return label.essentials;\n case SubscriptionProductId.L_SPAUTO_NI_IE:\n case SubscriptionProductId.L_SEC_NI_IE:\n case SubscriptionProductId.L_SEC_SP_NI_IE:\n case SubscriptionProductId.L_CLOUD_NI_IE:\n return label.advantage;\n case SubscriptionProductId.L_SPAUTO_NI_IS:\n case SubscriptionProductId.L_SEC_NI_IS:\n case SubscriptionProductId.L_SEC_SP_NI_IS:\n case SubscriptionProductId.L_CLOUD_NI_IS:\n return label.premier;\n case SubscriptionProductId.L_TRUST_ES_EMBED:\n case SubscriptionProductId.L_CLOUD_TI_E:\n case SubscriptionProductId.L_TRUST_ES_SIAST:\n case SubscriptionProductId.L_TRUST_ES_SIA3:\n case SubscriptionProductId.L_TRUST_ES_SIA5:\n case SubscriptionProductId.L_TRUST_ES_SIA1M:\n return label.essentials;\n case SubscriptionProductId.L_TRUST_ES_GN:\n case SubscriptionProductId.L_SPAUTO_TI_E:\n case SubscriptionProductId.L_SEC_TI_E:\n case SubscriptionProductId.L_SEC_SP_TI_E:\n return label.essentialsAlaCarte;\n case SubscriptionProductId.L_TRUST_FP1_HDR:\n case SubscriptionProductId.L_TRUST_FP2_NAR:\n case SubscriptionProductId.L_TRUST_FP3_REC:\n return label.advancedAlaCarte;\n case SubscriptionProductId.XW_TA_STANDARD:\n return detailed ? label.extraLarge : label.deviceRTU;\n case SubscriptionProductId.L_SPAUTO_TA_E_XS:\n case SubscriptionProductId.L_SPAUTO_TA_E_S:\n case SubscriptionProductId.L_SPAUTO_TA_E_M:\n case SubscriptionProductId.L_SPAUTO_TA_E_L:\n case SubscriptionProductId.L_SPAUTO_TA_E_XL:\n case SubscriptionProductId.L_SEC_TA_E_XS:\n case SubscriptionProductId.L_SEC_TA_E_S:\n case SubscriptionProductId.L_SEC_TA_E_M:\n case SubscriptionProductId.L_SEC_TA_E_L:\n case SubscriptionProductId.L_SEC_TA_E_XL:\n case SubscriptionProductId.L_CLOUD_TA_E_XS:\n case SubscriptionProductId.L_CLOUD_TA_E_S:\n case SubscriptionProductId.L_CLOUD_TA_E_M:\n case SubscriptionProductId.L_CLOUD_TA_E_L:\n case SubscriptionProductId.L_CLOUD_TA_E_XL:\n return detailed ? getProductSize(subscription) : label.essentials;\n case SubscriptionProductId.SP_SVS_CNI_IB_B:\n case SubscriptionProductId.SP_SVS_CNI_IE_B:\n case SubscriptionProductId.SP_SVS_CNI_IS_B:\n case SubscriptionProductId.L_TRUST_DG_K9:\n case SubscriptionProductId.L_CLD_DG_K9:\n case SubscriptionProductId.SP_SVS_CTA_B:\n case SubscriptionProductId.SP_SVS_CTI_B:\n case SubscriptionProductId.SD_SVS_FC_IOSXR:\n case SubscriptionProductId.INVALID_PID:\n return undefined;\n default:\n unreachable(subscription);\n }\n return undefined;\n};\n\n// eslint-disable-next-line complexity\nexport const getSubscriptionProduct = (\n productId: SubscriptionProductIdMap[keyof SubscriptionProductIdMap],\n containerMap: CdgContainerTypeMap[keyof CdgContainerTypeMap]\n): boolean => {\n switch (productId) {\n case SubscriptionProductId.L_SPAUTO_TA_E_XS:\n case SubscriptionProductId.L_SPAUTO_TA_E_S:\n case SubscriptionProductId.L_SPAUTO_TA_E_M:\n case SubscriptionProductId.L_SPAUTO_TA_E_L:\n case SubscriptionProductId.L_SPAUTO_TA_E_XL:\n case SubscriptionProductId.L_SEC_TA_E_XS:\n case SubscriptionProductId.L_SEC_TA_E_S:\n case SubscriptionProductId.L_SEC_TA_E_M:\n case SubscriptionProductId.L_SEC_TA_E_L:\n case SubscriptionProductId.L_SEC_TA_E_XL:\n case SubscriptionProductId.L_CLOUD_TA_E_XS:\n case SubscriptionProductId.L_CLOUD_TA_E_S:\n case SubscriptionProductId.L_CLOUD_TA_E_M:\n case SubscriptionProductId.L_CLOUD_TA_E_L:\n case SubscriptionProductId.L_CLOUD_TA_E_XL:\n case SubscriptionProductId.XW_TA_STANDARD:\n return containerMap === CdgContainerType.CONTAINER_FLOW;\n case SubscriptionProductId.L_SPAUTO_TI_E:\n case SubscriptionProductId.L_SEC_TI_E:\n case SubscriptionProductId.L_SEC_SP_TI_E:\n case SubscriptionProductId.L_TRUST_ES_EMBED:\n case SubscriptionProductId.L_CLOUD_TI_E:\n case SubscriptionProductId.L_TRUST_ES_SIAST:\n case SubscriptionProductId.L_TRUST_ES_SIA3:\n case SubscriptionProductId.L_TRUST_ES_SIA5:\n case SubscriptionProductId.L_TRUST_ES_SIA1M:\n return containerMap === CdgContainerType.CONTAINER_TRUST;\n case SubscriptionProductId.INVALID_PID:\n case SubscriptionProductId.SP_SVS_CTI_B:\n case SubscriptionProductId.L_SPAUTO_NI_IB:\n case SubscriptionProductId.SP_SVS_CNI_IB_B:\n case SubscriptionProductId.L_SPAUTO_NI_IE:\n case SubscriptionProductId.SP_SVS_CNI_IE_B:\n case SubscriptionProductId.L_SPAUTO_NI_IS:\n case SubscriptionProductId.L_CLOUD_NI_IB:\n case SubscriptionProductId.L_CLOUD_NI_IE:\n case SubscriptionProductId.L_CLOUD_NI_IS:\n case SubscriptionProductId.SP_SVS_CNI_IS_B:\n case SubscriptionProductId.L_TRUST_ES_GN:\n case SubscriptionProductId.L_TRUST_FP1_HDR:\n case SubscriptionProductId.L_TRUST_FP2_NAR:\n case SubscriptionProductId.L_TRUST_FP3_REC:\n case SubscriptionProductId.L_SEC_NI_IB:\n case SubscriptionProductId.L_SEC_NI_IE:\n case SubscriptionProductId.L_SEC_NI_IS:\n case SubscriptionProductId.L_SEC_SP_NI_IB:\n case SubscriptionProductId.L_SEC_SP_NI_IE:\n case SubscriptionProductId.L_SEC_SP_NI_IS:\n case SubscriptionProductId.L_TRUST_DG_K9:\n case SubscriptionProductId.SD_SVS_FC_IOSXR:\n case SubscriptionProductId.L_CLD_DG_K9:\n case SubscriptionProductId.SP_SVS_CTA_B:\n return false;\n default:\n unreachable(productId);\n return false;\n }\n};\n\nexport const getFlowDeviceSizeDecription = (\n productId: SubscriptionProductIdMap[keyof SubscriptionProductIdMap]\n): string => {\n let deviceSize = label.null;\n if (getSubscriptionProduct(productId, CdgContainerType.CONTAINER_FLOW)) {\n const flowPid: Partial<\n SubscriptionProductIdMap[keyof SubscriptionProductIdMap]\n > = productId;\n switch (flowPid) {\n case SubscriptionProductId.L_SPAUTO_TA_E_XS:\n case SubscriptionProductId.L_SEC_TA_E_XS:\n case SubscriptionProductId.L_CLOUD_TA_E_XS:\n deviceSize = label.flowExtraSmallShortDeviceDescription;\n break;\n case SubscriptionProductId.L_SPAUTO_TA_E_S:\n case SubscriptionProductId.L_SEC_TA_E_S:\n case SubscriptionProductId.L_CLOUD_TA_E_S:\n deviceSize = label.flowSmallShortDeviceDescription;\n break;\n case SubscriptionProductId.L_SPAUTO_TA_E_M:\n case SubscriptionProductId.L_SEC_TA_E_M:\n case SubscriptionProductId.L_CLOUD_TA_E_M:\n deviceSize = label.flowMediumShortDeviceDescription;\n break;\n case SubscriptionProductId.L_SPAUTO_TA_E_L:\n case SubscriptionProductId.L_SEC_TA_E_L:\n case SubscriptionProductId.L_CLOUD_TA_E_L:\n deviceSize = label.flowLargeShortDeviceDescription;\n break;\n case SubscriptionProductId.L_SPAUTO_TA_E_XL:\n case SubscriptionProductId.L_SEC_TA_E_XL:\n case SubscriptionProductId.L_CLOUD_TA_E_XL:\n case SubscriptionProductId.XW_TA_STANDARD:\n deviceSize = label.flowExtraLargeShortDeviceDescription;\n break;\n default:\n deviceSize = label.null;\n break;\n }\n }\n return deviceSize;\n};\n\nexport const isValidRequest = (): boolean => {\n const currentUser = getCurrentUser();\n const currentClaims = currentUser && currentUser.AccessToken.claims;\n return !!(\n currentClaims?.org &&\n currentClaims?.org !== NIL_UUID &&\n currentClaims?.groups?.length &&\n currentClaims?.groups[0]\n );\n};\n\nexport const getUserNameFromProvider = (value: string): string => {\n return value?.includes(\"/\") ? value.split(/\\/(.+)/)[1] : value;\n};\n\nexport const getUserNameFromState = (userState: UserState): string => {\n return (\n userState?.AccessToken?.claims?.full_name ||\n userState?.AccessToken?.claims?.name\n );\n};\n\nexport const appendFreeOrTrial = (\n type?: SubscriptionTypeMap[keyof SubscriptionTypeMap]\n): string => {\n if (type) {\n if (type === SubscriptionType.TYPE_TRIAL) {\n return ` - ${label.trial}`;\n } else if (type === SubscriptionType.TYPE_FREE) {\n return ` - ${label.free}`;\n }\n }\n return \"\";\n};\n","import EventEmitter from \"eventemitter3\";\nimport { ApiError } from \"../core/dataflow/apiService\";\n\nexport type ToastType = \"success\" | \"info\" | \"warning\" | \"error\" | undefined;\n\nexport interface ToastMessage {\n type?: ToastType;\n message: string;\n title?: string;\n duration?: number;\n closeable?: boolean;\n error?: Error | ApiError;\n}\n\nexport const QUEUE_EVENT = \"queue\";\nexport const DEQUEUE_EVENT = \"dequeue\";\n\nconst toastQueue: ToastMessage[] = [];\nexport const events = new EventEmitter();\n\nexport function queue(message: ToastMessage): void {\n toastQueue.push(message);\n events.emit(QUEUE_EVENT);\n}\n\nexport function stickyQueue(message: ToastMessage): void {\n message.duration = 0;\n message.closeable = true;\n toastQueue.push(message);\n events.emit(QUEUE_EVENT);\n}\n\nexport function queueLength(): number {\n return toastQueue.length;\n}\n\nexport function dequeue(): ToastMessage {\n if (toastQueue.length <= 0) {\n throw new Error(\"Queue empty\");\n }\n const popped = toastQueue.shift();\n if (popped === undefined) {\n throw new Error(\"Dequeued entry is undefined\");\n }\n return popped;\n}\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function ticks(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n let r0 = Math.round(start / step), r1 = Math.round(stop / step);\n if (r0 * step < start) ++r0;\n if (r1 * step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) * step;\n } else {\n step = -step;\n let r0 = Math.round(start * step), r1 = Math.round(stop * step);\n if (r0 / step < start) ++r0;\n if (r1 / step > stop) --r1;\n ticks = new Array(n = r1 - r0 + 1);\n while (++i < n) ticks[i] = (r0 + i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","export default function number(x) {\n return x === null ? NaN : +x;\n}\n\nexport function* numbers(values, valueof) {\n if (valueof === undefined) {\n for (let value of values) {\n if (value != null && (value = +value) >= value) {\n yield value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) {\n yield value;\n }\n }\n }\n}\n","import ascending from \"./ascending.js\";\nimport bisector from \"./bisector.js\";\nimport number from \"./number.js\";\n\nconst ascendingBisect = bisector(ascending);\nexport const bisectRight = ascendingBisect.right;\nexport const bisectLeft = ascendingBisect.left;\nexport const bisectCenter = bisector(number).center;\nexport default bisectRight;\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return Math.round(a * (1 - t) + b * t);\n };\n}\n","export default function constants(x) {\n return function() {\n return x;\n };\n}\n","export default function number(x) {\n return +x;\n}\n","import {bisect} from \"d3-array\";\nimport {interpolate as interpolateValue, interpolateNumber, interpolateRound} from \"d3-interpolate\";\nimport constant from \"./constant.js\";\nimport number from \"./number.js\";\n\nvar unit = [0, 1];\n\nexport function identity(x) {\n return x;\n}\n\nfunction normalize(a, b) {\n return (b -= (a = +a))\n ? function(x) { return (x - a) / b; }\n : constant(isNaN(b) ? NaN : 0.5);\n}\n\nfunction clamper(a, b) {\n var t;\n if (a > b) t = a, a = b, b = t;\n return function(x) { return Math.max(a, Math.min(b, x)); };\n}\n\n// normalize(a, b)(x) takes a domain value x in [a,b] and returns the corresponding parameter t in [0,1].\n// interpolate(a, b)(t) takes a parameter t in [0,1] and returns the corresponding range value x in [a,b].\nfunction bimap(domain, range, interpolate) {\n var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];\n if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0);\n else d0 = normalize(d0, d1), r0 = interpolate(r0, r1);\n return function(x) { return r0(d0(x)); };\n}\n\nfunction polymap(domain, range, interpolate) {\n var j = Math.min(domain.length, range.length) - 1,\n d = new Array(j),\n r = new Array(j),\n i = -1;\n\n // Reverse descending domains.\n if (domain[j] < domain[0]) {\n domain = domain.slice().reverse();\n range = range.slice().reverse();\n }\n\n while (++i < j) {\n d[i] = normalize(domain[i], domain[i + 1]);\n r[i] = interpolate(range[i], range[i + 1]);\n }\n\n return function(x) {\n var i = bisect(domain, x, 1, j) - 1;\n return r[i](d[i](x));\n };\n}\n\nexport function copy(source, target) {\n return target\n .domain(source.domain())\n .range(source.range())\n .interpolate(source.interpolate())\n .clamp(source.clamp())\n .unknown(source.unknown());\n}\n\nexport function transformer() {\n var domain = unit,\n range = unit,\n interpolate = interpolateValue,\n transform,\n untransform,\n unknown,\n clamp = identity,\n piecewise,\n output,\n input;\n\n function rescale() {\n var n = Math.min(domain.length, range.length);\n if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]);\n piecewise = n > 2 ? polymap : bimap;\n output = input = null;\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));\n }\n\n scale.invert = function(y) {\n return clamp(untransform((input || (input = piecewise(range, domain.map(transform), interpolateNumber)))(y)));\n };\n\n scale.domain = function(_) {\n return arguments.length ? (domain = Array.from(_, number), rescale()) : domain.slice();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.rangeRound = function(_) {\n return range = Array.from(_), interpolate = interpolateRound, rescale();\n };\n\n scale.clamp = function(_) {\n return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity;\n };\n\n scale.interpolate = function(_) {\n return arguments.length ? (interpolate = _, rescale()) : interpolate;\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n return function(t, u) {\n transform = t, untransform = u;\n return rescale();\n };\n}\n\nexport default function continuous() {\n return transformer()(identity, identity);\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","import {utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcTicks, utcTickInterval} from \"d3-time\";\nimport {utcFormat} from \"d3-time-format\";\nimport {calendar} from \"./time.js\";\nimport {initRange} from \"./init.js\";\n\nexport default function utcTime() {\n return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcWeek, utcDay, utcHour, utcMinute, utcSecond, utcFormat).domain([Date.UTC(2000, 0, 1), Date.UTC(2000, 0, 2)]), arguments);\n}\n","export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","function Natural(context) {\n this._context = context;\n}\n\nNatural.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = [];\n this._y = [];\n },\n lineEnd: function() {\n var x = this._x,\n y = this._y,\n n = x.length;\n\n if (n) {\n this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);\n if (n === 2) {\n this._context.lineTo(x[1], y[1]);\n } else {\n var px = controlPoints(x),\n py = controlPoints(y);\n for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {\n this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);\n }\n }\n }\n\n if (this._line || (this._line !== 0 && n === 1)) this._context.closePath();\n this._line = 1 - this._line;\n this._x = this._y = null;\n },\n point: function(x, y) {\n this._x.push(+x);\n this._y.push(+y);\n }\n};\n\n// See https://www.particleincell.com/2012/bezier-splines/ for derivation.\nfunction controlPoints(x) {\n var i,\n n = x.length - 1,\n m,\n a = new Array(n),\n b = new Array(n),\n r = new Array(n);\n a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];\n for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];\n a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];\n for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];\n a[n - 1] = r[n - 1] / b[n - 1];\n for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i];\n b[n - 1] = (x[n] + a[n - 1]) / 2;\n for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1];\n return [a, b];\n}\n\nexport default function(context) {\n return new Natural(context);\n}\n","function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n","// [[fill]align][sign][symbol][0][width][,][.precision][~][type]\nvar re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n\nexport default function formatSpecifier(specifier) {\n if (!(match = re.exec(specifier))) throw new Error(\"invalid format: \" + specifier);\n var match;\n return new FormatSpecifier({\n fill: match[1],\n align: match[2],\n sign: match[3],\n symbol: match[4],\n zero: match[5],\n width: match[6],\n comma: match[7],\n precision: match[8] && match[8].slice(1),\n trim: match[9],\n type: match[10]\n });\n}\n\nformatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n\nexport function FormatSpecifier(specifier) {\n this.fill = specifier.fill === undefined ? \" \" : specifier.fill + \"\";\n this.align = specifier.align === undefined ? \">\" : specifier.align + \"\";\n this.sign = specifier.sign === undefined ? \"-\" : specifier.sign + \"\";\n this.symbol = specifier.symbol === undefined ? \"\" : specifier.symbol + \"\";\n this.zero = !!specifier.zero;\n this.width = specifier.width === undefined ? undefined : +specifier.width;\n this.comma = !!specifier.comma;\n this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n this.trim = !!specifier.trim;\n this.type = specifier.type === undefined ? \"\" : specifier.type + \"\";\n}\n\nFormatSpecifier.prototype.toString = function() {\n return this.fill\n + this.align\n + this.sign\n + this.symbol\n + (this.zero ? \"0\" : \"\")\n + (this.width === undefined ? \"\" : Math.max(1, this.width | 0))\n + (this.comma ? \",\" : \"\")\n + (this.precision === undefined ? \"\" : \".\" + Math.max(0, this.precision | 0))\n + (this.trim ? \"~\" : \"\")\n + this.type;\n};\n","export default function(x) {\n return Math.abs(x = Math.round(x)) >= 1e21\n ? x.toLocaleString(\"en\").replace(/,/g, \"\")\n : x.toString(10);\n}\n\n// Computes the decimal coefficient and exponent of the specified number x with\n// significant digits p, where x is positive and p is in [1, 21] or undefined.\n// For example, formatDecimalParts(1.23) returns [\"123\", 0].\nexport function formatDecimalParts(x, p) {\n if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf(\"e\")) < 0) return null; // NaN, ±Infinity\n var i, coefficient = x.slice(0, i);\n\n // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n return [\n coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n +x.slice(i + 1)\n ];\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x) {\n return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, value) {\n return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step)));\n}\n","export default function(grouping, thousands) {\n return function(value, width) {\n var i = value.length,\n t = [],\n j = 0,\n g = grouping[0],\n length = 0;\n\n while (i > 0 && g > 0) {\n if (length + g + 1 > width) g = Math.max(1, width - length);\n t.push(value.substring(i -= g, i + g));\n if ((length += g + 1) > width) break;\n g = grouping[j = (j + 1) % grouping.length];\n }\n\n return t.reverse().join(thousands);\n };\n}\n","export default function(numerals) {\n return function(value) {\n return value.replace(/[0-9]/g, function(i) {\n return numerals[+i];\n });\n };\n}\n","// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\nexport default function(s) {\n out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n switch (s[i]) {\n case \".\": i0 = i1 = i; break;\n case \"0\": if (i0 === 0) i0 = i; i1 = i; break;\n default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n }\n }\n return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport var prefixExponent;\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1],\n i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n n = coefficient.length;\n return i === n ? coefficient\n : i > n ? coefficient + new Array(i - n + 1).join(\"0\")\n : i > 0 ? coefficient.slice(0, i) + \".\" + coefficient.slice(i)\n : \"0.\" + new Array(1 - i).join(\"0\") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n}\n","import {formatDecimalParts} from \"./formatDecimal.js\";\n\nexport default function(x, p) {\n var d = formatDecimalParts(x, p);\n if (!d) return x + \"\";\n var coefficient = d[0],\n exponent = d[1];\n return exponent < 0 ? \"0.\" + new Array(-exponent).join(\"0\") + coefficient\n : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + \".\" + coefficient.slice(exponent + 1)\n : coefficient + new Array(exponent - coefficient.length + 2).join(\"0\");\n}\n","import formatDecimal from \"./formatDecimal.js\";\nimport formatPrefixAuto from \"./formatPrefixAuto.js\";\nimport formatRounded from \"./formatRounded.js\";\n\nexport default {\n \"%\": (x, p) => (x * 100).toFixed(p),\n \"b\": (x) => Math.round(x).toString(2),\n \"c\": (x) => x + \"\",\n \"d\": formatDecimal,\n \"e\": (x, p) => x.toExponential(p),\n \"f\": (x, p) => x.toFixed(p),\n \"g\": (x, p) => x.toPrecision(p),\n \"o\": (x) => Math.round(x).toString(8),\n \"p\": (x, p) => formatRounded(x * 100, p),\n \"r\": formatRounded,\n \"s\": formatPrefixAuto,\n \"X\": (x) => Math.round(x).toString(16).toUpperCase(),\n \"x\": (x) => Math.round(x).toString(16)\n};\n","export default function(x) {\n return x;\n}\n","import exponent from \"./exponent.js\";\nimport formatGroup from \"./formatGroup.js\";\nimport formatNumerals from \"./formatNumerals.js\";\nimport formatSpecifier from \"./formatSpecifier.js\";\nimport formatTrim from \"./formatTrim.js\";\nimport formatTypes from \"./formatTypes.js\";\nimport {prefixExponent} from \"./formatPrefixAuto.js\";\nimport identity from \"./identity.js\";\n\nvar map = Array.prototype.map,\n prefixes = [\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];\n\nexport default function(locale) {\n var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + \"\"),\n currencyPrefix = locale.currency === undefined ? \"\" : locale.currency[0] + \"\",\n currencySuffix = locale.currency === undefined ? \"\" : locale.currency[1] + \"\",\n decimal = locale.decimal === undefined ? \".\" : locale.decimal + \"\",\n numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n percent = locale.percent === undefined ? \"%\" : locale.percent + \"\",\n minus = locale.minus === undefined ? \"−\" : locale.minus + \"\",\n nan = locale.nan === undefined ? \"NaN\" : locale.nan + \"\";\n\n function newFormat(specifier) {\n specifier = formatSpecifier(specifier);\n\n var fill = specifier.fill,\n align = specifier.align,\n sign = specifier.sign,\n symbol = specifier.symbol,\n zero = specifier.zero,\n width = specifier.width,\n comma = specifier.comma,\n precision = specifier.precision,\n trim = specifier.trim,\n type = specifier.type;\n\n // The \"n\" type is an alias for \",g\".\n if (type === \"n\") comma = true, type = \"g\";\n\n // The \"\" type, and any invalid type, is an alias for \".12~g\".\n else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = \"g\";\n\n // If zero fill is specified, padding goes after sign and before digits.\n if (zero || (fill === \"0\" && align === \"=\")) zero = true, fill = \"0\", align = \"=\";\n\n // Compute the prefix and suffix.\n // For SI-prefix, the suffix is lazily computed.\n var prefix = symbol === \"$\" ? currencyPrefix : symbol === \"#\" && /[boxX]/.test(type) ? \"0\" + type.toLowerCase() : \"\",\n suffix = symbol === \"$\" ? currencySuffix : /[%p]/.test(type) ? percent : \"\";\n\n // What format function should we use?\n // Is this an integer type?\n // Can this type generate exponential notation?\n var formatType = formatTypes[type],\n maybeSuffix = /[defgprs%]/.test(type);\n\n // Set the default precision if not specified,\n // or clamp the specified precision to the supported range.\n // For significant precision, it must be in [1, 21].\n // For fixed precision, it must be in [0, 20].\n precision = precision === undefined ? 6\n : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n : Math.max(0, Math.min(20, precision));\n\n function format(value) {\n var valuePrefix = prefix,\n valueSuffix = suffix,\n i, n, c;\n\n if (type === \"c\") {\n valueSuffix = formatType(value) + valueSuffix;\n value = \"\";\n } else {\n value = +value;\n\n // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n var valueNegative = value < 0 || 1 / value < 0;\n\n // Perform the initial formatting.\n value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n\n // Trim insignificant zeros.\n if (trim) value = formatTrim(value);\n\n // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n if (valueNegative && +value === 0 && sign !== \"+\") valueNegative = false;\n\n // Compute the prefix and suffix.\n valuePrefix = (valueNegative ? (sign === \"(\" ? sign : minus) : sign === \"-\" || sign === \"(\" ? \"\" : sign) + valuePrefix;\n valueSuffix = (type === \"s\" ? prefixes[8 + prefixExponent / 3] : \"\") + valueSuffix + (valueNegative && sign === \"(\" ? \")\" : \"\");\n\n // Break the formatted value into the integer “value” part that can be\n // grouped, and fractional or exponential “suffix” part that is not.\n if (maybeSuffix) {\n i = -1, n = value.length;\n while (++i < n) {\n if (c = value.charCodeAt(i), 48 > c || c > 57) {\n valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n value = value.slice(0, i);\n break;\n }\n }\n }\n }\n\n // If the fill character is not \"0\", grouping is applied before padding.\n if (comma && !zero) value = group(value, Infinity);\n\n // Compute the padding.\n var length = valuePrefix.length + value.length + valueSuffix.length,\n padding = length < width ? new Array(width - length + 1).join(fill) : \"\";\n\n // If the fill character is \"0\", grouping is applied after padding.\n if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = \"\";\n\n // Reconstruct the final output based on the desired alignment.\n switch (align) {\n case \"<\": value = valuePrefix + value + valueSuffix + padding; break;\n case \"=\": value = valuePrefix + padding + value + valueSuffix; break;\n case \"^\": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n default: value = padding + valuePrefix + value + valueSuffix; break;\n }\n\n return numerals(value);\n }\n\n format.toString = function() {\n return specifier + \"\";\n };\n\n return format;\n }\n\n function formatPrefix(specifier, value) {\n var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = \"f\", specifier)),\n e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n k = Math.pow(10, -e),\n prefix = prefixes[8 + e / 3];\n return function(value) {\n return f(k * value) + prefix;\n };\n }\n\n return {\n format: newFormat,\n formatPrefix: formatPrefix\n };\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var format;\nexport var formatPrefix;\n\ndefaultLocale({\n thousands: \",\",\n grouping: [3],\n currency: [\"$\", \"\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n format = locale.format;\n formatPrefix = locale.formatPrefix;\n return locale;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step, max) {\n step = Math.abs(step), max = Math.abs(max) - step;\n return Math.max(0, exponent(max) - exponent(step)) + 1;\n}\n","import exponent from \"./exponent.js\";\n\nexport default function(step) {\n return Math.max(0, -exponent(Math.abs(step)));\n}\n","import {tickStep} from \"d3-array\";\nimport {format, formatPrefix, formatSpecifier, precisionFixed, precisionPrefix, precisionRound} from \"d3-format\";\n\nexport default function tickFormat(start, stop, count, specifier) {\n var step = tickStep(start, stop, count),\n precision;\n specifier = formatSpecifier(specifier == null ? \",f\" : specifier);\n switch (specifier.type) {\n case \"s\": {\n var value = Math.max(Math.abs(start), Math.abs(stop));\n if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision;\n return formatPrefix(specifier, value);\n }\n case \"\":\n case \"e\":\n case \"g\":\n case \"p\":\n case \"r\": {\n if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === \"e\");\n break;\n }\n case \"f\":\n case \"%\": {\n if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === \"%\") * 2;\n break;\n }\n }\n return format(specifier);\n}\n","import {ticks, tickIncrement} from \"d3-array\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport tickFormat from \"./tickFormat.js\";\n\nexport function linearish(scale) {\n var domain = scale.domain;\n\n scale.ticks = function(count) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], count == null ? 10 : count);\n };\n\n scale.tickFormat = function(count, specifier) {\n var d = domain();\n return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier);\n };\n\n scale.nice = function(count) {\n if (count == null) count = 10;\n\n var d = domain();\n var i0 = 0;\n var i1 = d.length - 1;\n var start = d[i0];\n var stop = d[i1];\n var prestep;\n var step;\n var maxIter = 10;\n\n if (stop < start) {\n step = start, start = stop, stop = step;\n step = i0, i0 = i1, i1 = step;\n }\n \n while (maxIter-- > 0) {\n step = tickIncrement(start, stop, count);\n if (step === prestep) {\n d[i0] = start\n d[i1] = stop\n return domain(d);\n } else if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n } else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n } else {\n break;\n }\n prestep = step;\n }\n\n return scale;\n };\n\n return scale;\n}\n\nexport default function linear() {\n var scale = continuous();\n\n scale.copy = function() {\n return copy(scale, linear());\n };\n\n initRange.apply(scale, arguments);\n\n return linearish(scale);\n}\n","import max from \"./max.js\";\nimport maxIndex from \"./maxIndex.js\";\nimport min from \"./min.js\";\nimport minIndex from \"./minIndex.js\";\nimport quickselect from \"./quickselect.js\";\nimport number, {numbers} from \"./number.js\";\nimport {ascendingDefined} from \"./sort.js\";\nimport greatest from \"./greatest.js\";\n\nexport default function quantile(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return min(values);\n if (p >= 1) return max(values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = max(quickselect(values, i0).subarray(0, i0 + 1)),\n value1 = min(values.subarray(i0 + 1));\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileSorted(values, p, valueof = number) {\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return +valueof(values[0], 0, values);\n if (p >= 1) return +valueof(values[n - 1], n - 1, values);\n var n,\n i = (n - 1) * p,\n i0 = Math.floor(i),\n value0 = +valueof(values[i0], i0, values),\n value1 = +valueof(values[i0 + 1], i0 + 1, values);\n return value0 + (value1 - value0) * (i - i0);\n}\n\nexport function quantileIndex(values, p, valueof) {\n values = Float64Array.from(numbers(values, valueof));\n if (!(n = values.length) || isNaN(p = +p)) return;\n if (p <= 0 || n < 2) return minIndex(values);\n if (p >= 1) return maxIndex(values);\n var n,\n i = Math.floor((n - 1) * p),\n order = (i, j) => ascendingDefined(values[i], values[j]),\n index = quickselect(Uint32Array.from(values, (_, i) => i), i, 0, n - 1, order);\n return greatest(index.subarray(0, i + 1), i => values[i]);\n}\n","import {ascending, bisect, quantileSorted as threshold} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport default function quantile() {\n var domain = [],\n range = [],\n thresholds = [],\n unknown;\n\n function rescale() {\n var i = 0, n = Math.max(1, range.length);\n thresholds = new Array(n - 1);\n while (++i < n) thresholds[i - 1] = threshold(domain, i / n);\n return scale;\n }\n\n function scale(x) {\n return x == null || isNaN(x = +x) ? unknown : range[bisect(thresholds, x)];\n }\n\n scale.invertExtent = function(y) {\n var i = range.indexOf(y);\n return i < 0 ? [NaN, NaN] : [\n i > 0 ? thresholds[i - 1] : domain[0],\n i < thresholds.length ? thresholds[i] : domain[domain.length - 1]\n ];\n };\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [];\n for (let d of _) if (d != null && !isNaN(d = +d)) domain.push(d);\n domain.sort(ascending);\n return rescale();\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), rescale()) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.quantiles = function() {\n return thresholds.slice();\n };\n\n scale.copy = function() {\n return quantile()\n .domain(domain)\n .range(range)\n .unknown(unknown);\n };\n\n return initRange.apply(scale, arguments);\n}\n","export default function range(start, stop, step) {\n start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;\n\n var i = -1,\n n = Math.max(0, Math.ceil((stop - start) / step)) | 0,\n range = new Array(n);\n\n while (++i < n) {\n range[i] = start + i * step;\n }\n\n return range;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(value);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","import {range as sequence} from \"d3-array\";\nimport {initRange} from \"./init.js\";\nimport ordinal from \"./ordinal.js\";\n\nexport default function band() {\n var scale = ordinal().unknown(undefined),\n domain = scale.domain,\n ordinalRange = scale.range,\n r0 = 0,\n r1 = 1,\n step,\n bandwidth,\n round = false,\n paddingInner = 0,\n paddingOuter = 0,\n align = 0.5;\n\n delete scale.unknown;\n\n function rescale() {\n var n = domain().length,\n reverse = r1 < r0,\n start = reverse ? r1 : r0,\n stop = reverse ? r0 : r1;\n step = (stop - start) / Math.max(1, n - paddingInner + paddingOuter * 2);\n if (round) step = Math.floor(step);\n start += (stop - start - step * (n - paddingInner)) * align;\n bandwidth = step * (1 - paddingInner);\n if (round) start = Math.round(start), bandwidth = Math.round(bandwidth);\n var values = sequence(n).map(function(i) { return start + step * i; });\n return ordinalRange(reverse ? values.reverse() : values);\n }\n\n scale.domain = function(_) {\n return arguments.length ? (domain(_), rescale()) : domain();\n };\n\n scale.range = function(_) {\n return arguments.length ? ([r0, r1] = _, r0 = +r0, r1 = +r1, rescale()) : [r0, r1];\n };\n\n scale.rangeRound = function(_) {\n return [r0, r1] = _, r0 = +r0, r1 = +r1, round = true, rescale();\n };\n\n scale.bandwidth = function() {\n return bandwidth;\n };\n\n scale.step = function() {\n return step;\n };\n\n scale.round = function(_) {\n return arguments.length ? (round = !!_, rescale()) : round;\n };\n\n scale.padding = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;\n };\n\n scale.paddingInner = function(_) {\n return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;\n };\n\n scale.paddingOuter = function(_) {\n return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;\n };\n\n scale.align = function(_) {\n return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;\n };\n\n scale.copy = function() {\n return band(domain(), [r0, r1])\n .round(round)\n .paddingInner(paddingInner)\n .paddingOuter(paddingOuter)\n .align(align);\n };\n\n return initRange.apply(rescale(), arguments);\n}\n\nfunction pointish(scale) {\n var copy = scale.copy;\n\n scale.padding = scale.paddingOuter;\n delete scale.paddingInner;\n delete scale.paddingOuter;\n\n scale.copy = function() {\n return pointish(copy());\n };\n\n return scale;\n}\n\nexport function point() {\n return pointish(band.apply(null, arguments).paddingInner(1));\n}\n","export default function sum(values, valueof) {\n let sum = 0;\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n sum += value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n sum += value;\n }\n }\n }\n return sum;\n}\n","export default function max(values, valueof) {\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (max < value || (max === undefined && value >= value))) {\n max = value;\n }\n }\n }\n return max;\n}\n","export default function min(values, valueof) {\n let min;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null\n && (min > value || (min === undefined && value >= value))) {\n min = value;\n }\n }\n }\n return min;\n}\n","import {min} from \"d3-array\";\n\nfunction targetDepth(d) {\n return d.target.depth;\n}\n\nexport function left(node) {\n return node.depth;\n}\n\nexport function right(node, n) {\n return n - 1 - node.height;\n}\n\nexport function justify(node, n) {\n return node.sourceLinks.length ? node.depth : n - 1;\n}\n\nexport function center(node) {\n return node.targetLinks.length ? node.depth\n : node.sourceLinks.length ? min(node.sourceLinks, targetDepth) - 1\n : 0;\n}\n","export default function constant(x) {\n return function() {\n return x;\n };\n}\n","import {max, min, sum} from \"d3-array\";\nimport {justify} from \"./align.js\";\nimport constant from \"./constant.js\";\n\nfunction ascendingSourceBreadth(a, b) {\n return ascendingBreadth(a.source, b.source) || a.index - b.index;\n}\n\nfunction ascendingTargetBreadth(a, b) {\n return ascendingBreadth(a.target, b.target) || a.index - b.index;\n}\n\nfunction ascendingBreadth(a, b) {\n return a.y0 - b.y0;\n}\n\nfunction value(d) {\n return d.value;\n}\n\nfunction defaultId(d) {\n return d.index;\n}\n\nfunction defaultNodes(graph) {\n return graph.nodes;\n}\n\nfunction defaultLinks(graph) {\n return graph.links;\n}\n\nfunction find(nodeById, id) {\n const node = nodeById.get(id);\n if (!node) throw new Error(\"missing: \" + id);\n return node;\n}\n\nfunction computeLinkBreadths({nodes}) {\n for (const node of nodes) {\n let y0 = node.y0;\n let y1 = y0;\n for (const link of node.sourceLinks) {\n link.y0 = y0 + link.width / 2;\n y0 += link.width;\n }\n for (const link of node.targetLinks) {\n link.y1 = y1 + link.width / 2;\n y1 += link.width;\n }\n }\n}\n\nexport default function Sankey() {\n let x0 = 0, y0 = 0, x1 = 1, y1 = 1; // extent\n let dx = 24; // nodeWidth\n let dy = 8, py; // nodePadding\n let id = defaultId;\n let align = justify;\n let sort;\n let linkSort;\n let nodes = defaultNodes;\n let links = defaultLinks;\n let iterations = 6;\n\n function sankey() {\n const graph = {nodes: nodes.apply(null, arguments), links: links.apply(null, arguments)};\n computeNodeLinks(graph);\n computeNodeValues(graph);\n computeNodeDepths(graph);\n computeNodeHeights(graph);\n computeNodeBreadths(graph);\n computeLinkBreadths(graph);\n return graph;\n }\n\n sankey.update = function(graph) {\n computeLinkBreadths(graph);\n return graph;\n };\n\n sankey.nodeId = function(_) {\n return arguments.length ? (id = typeof _ === \"function\" ? _ : constant(_), sankey) : id;\n };\n\n sankey.nodeAlign = function(_) {\n return arguments.length ? (align = typeof _ === \"function\" ? _ : constant(_), sankey) : align;\n };\n\n sankey.nodeSort = function(_) {\n return arguments.length ? (sort = _, sankey) : sort;\n };\n\n sankey.nodeWidth = function(_) {\n return arguments.length ? (dx = +_, sankey) : dx;\n };\n\n sankey.nodePadding = function(_) {\n return arguments.length ? (dy = py = +_, sankey) : dy;\n };\n\n sankey.nodes = function(_) {\n return arguments.length ? (nodes = typeof _ === \"function\" ? _ : constant(_), sankey) : nodes;\n };\n\n sankey.links = function(_) {\n return arguments.length ? (links = typeof _ === \"function\" ? _ : constant(_), sankey) : links;\n };\n\n sankey.linkSort = function(_) {\n return arguments.length ? (linkSort = _, sankey) : linkSort;\n };\n\n sankey.size = function(_) {\n return arguments.length ? (x0 = y0 = 0, x1 = +_[0], y1 = +_[1], sankey) : [x1 - x0, y1 - y0];\n };\n\n sankey.extent = function(_) {\n return arguments.length ? (x0 = +_[0][0], x1 = +_[1][0], y0 = +_[0][1], y1 = +_[1][1], sankey) : [[x0, y0], [x1, y1]];\n };\n\n sankey.iterations = function(_) {\n return arguments.length ? (iterations = +_, sankey) : iterations;\n };\n\n function computeNodeLinks({nodes, links}) {\n for (const [i, node] of nodes.entries()) {\n node.index = i;\n node.sourceLinks = [];\n node.targetLinks = [];\n }\n const nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d]));\n for (const [i, link] of links.entries()) {\n link.index = i;\n let {source, target} = link;\n if (typeof source !== \"object\") source = link.source = find(nodeById, source);\n if (typeof target !== \"object\") target = link.target = find(nodeById, target);\n source.sourceLinks.push(link);\n target.targetLinks.push(link);\n }\n if (linkSort != null) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(linkSort);\n targetLinks.sort(linkSort);\n }\n }\n }\n\n function computeNodeValues({nodes}) {\n for (const node of nodes) {\n node.value = node.fixedValue === undefined\n ? Math.max(sum(node.sourceLinks, value), sum(node.targetLinks, value))\n : node.fixedValue;\n }\n }\n\n function computeNodeDepths({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.depth = x;\n for (const {target} of node.sourceLinks) {\n next.add(target);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeHeights({nodes}) {\n const n = nodes.length;\n let current = new Set(nodes);\n let next = new Set;\n let x = 0;\n while (current.size) {\n for (const node of current) {\n node.height = x;\n for (const {source} of node.targetLinks) {\n next.add(source);\n }\n }\n if (++x > n) throw new Error(\"circular link\");\n current = next;\n next = new Set;\n }\n }\n\n function computeNodeLayers({nodes}) {\n const x = max(nodes, d => d.depth) + 1;\n const kx = (x1 - x0 - dx) / (x - 1);\n const columns = new Array(x);\n for (const node of nodes) {\n const i = Math.max(0, Math.min(x - 1, Math.floor(align.call(null, node, x))));\n node.layer = i;\n node.x0 = x0 + i * kx;\n node.x1 = node.x0 + dx;\n if (columns[i]) columns[i].push(node);\n else columns[i] = [node];\n }\n if (sort) for (const column of columns) {\n column.sort(sort);\n }\n return columns;\n }\n\n function initializeNodeBreadths(columns) {\n const ky = min(columns, c => (y1 - y0 - (c.length - 1) * py) / sum(c, value));\n for (const nodes of columns) {\n let y = y0;\n for (const node of nodes) {\n node.y0 = y;\n node.y1 = y + node.value * ky;\n y = node.y1 + py;\n for (const link of node.sourceLinks) {\n link.width = link.value * ky;\n }\n }\n y = (y1 - y + py) / (nodes.length + 1);\n for (let i = 0; i < nodes.length; ++i) {\n const node = nodes[i];\n node.y0 += y * (i + 1);\n node.y1 += y * (i + 1);\n }\n reorderLinks(nodes);\n }\n }\n\n function computeNodeBreadths(graph) {\n const columns = computeNodeLayers(graph);\n py = Math.min(dy, (y1 - y0) / (max(columns, c => c.length) - 1));\n initializeNodeBreadths(columns);\n for (let i = 0; i < iterations; ++i) {\n const alpha = Math.pow(0.99, i);\n const beta = Math.max(1 - alpha, (i + 1) / iterations);\n relaxRightToLeft(columns, alpha, beta);\n relaxLeftToRight(columns, alpha, beta);\n }\n }\n\n // Reposition each node based on its incoming (target) links.\n function relaxLeftToRight(columns, alpha, beta) {\n for (let i = 1, n = columns.length; i < n; ++i) {\n const column = columns[i];\n for (const target of column) {\n let y = 0;\n let w = 0;\n for (const {source, value} of target.targetLinks) {\n let v = value * (target.layer - source.layer);\n y += targetTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - target.y0) * alpha;\n target.y0 += dy;\n target.y1 += dy;\n reorderNodeLinks(target);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n // Reposition each node based on its outgoing (source) links.\n function relaxRightToLeft(columns, alpha, beta) {\n for (let n = columns.length, i = n - 2; i >= 0; --i) {\n const column = columns[i];\n for (const source of column) {\n let y = 0;\n let w = 0;\n for (const {target, value} of source.sourceLinks) {\n let v = value * (target.layer - source.layer);\n y += sourceTop(source, target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n let dy = (y / w - source.y0) * alpha;\n source.y0 += dy;\n source.y1 += dy;\n reorderNodeLinks(source);\n }\n if (sort === undefined) column.sort(ascendingBreadth);\n resolveCollisions(column, beta);\n }\n }\n\n function resolveCollisions(nodes, alpha) {\n const i = nodes.length >> 1;\n const subject = nodes[i];\n resolveCollisionsBottomToTop(nodes, subject.y0 - py, i - 1, alpha);\n resolveCollisionsTopToBottom(nodes, subject.y1 + py, i + 1, alpha);\n resolveCollisionsBottomToTop(nodes, y1, nodes.length - 1, alpha);\n resolveCollisionsTopToBottom(nodes, y0, 0, alpha);\n }\n\n // Push any overlapping nodes down.\n function resolveCollisionsTopToBottom(nodes, y, i, alpha) {\n for (; i < nodes.length; ++i) {\n const node = nodes[i];\n const dy = (y - node.y0) * alpha;\n if (dy > 1e-6) node.y0 += dy, node.y1 += dy;\n y = node.y1 + py;\n }\n }\n\n // Push any overlapping nodes up.\n function resolveCollisionsBottomToTop(nodes, y, i, alpha) {\n for (; i >= 0; --i) {\n const node = nodes[i];\n const dy = (node.y1 - y) * alpha;\n if (dy > 1e-6) node.y0 -= dy, node.y1 -= dy;\n y = node.y0 - py;\n }\n }\n\n function reorderNodeLinks({sourceLinks, targetLinks}) {\n if (linkSort === undefined) {\n for (const {source: {sourceLinks}} of targetLinks) {\n sourceLinks.sort(ascendingTargetBreadth);\n }\n for (const {target: {targetLinks}} of sourceLinks) {\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n function reorderLinks(nodes) {\n if (linkSort === undefined) {\n for (const {sourceLinks, targetLinks} of nodes) {\n sourceLinks.sort(ascendingTargetBreadth);\n targetLinks.sort(ascendingSourceBreadth);\n }\n }\n }\n\n // Returns the target.y0 that would produce an ideal link from source to target.\n function targetTop(source, target) {\n let y = source.y0 - (source.sourceLinks.length - 1) * py / 2;\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y += width + py;\n }\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y -= width;\n }\n return y;\n }\n\n // Returns the source.y0 that would produce an ideal link from source to target.\n function sourceTop(source, target) {\n let y = target.y0 - (target.targetLinks.length - 1) * py / 2;\n for (const {source: node, width} of target.targetLinks) {\n if (node === source) break;\n y += width + py;\n }\n for (const {target: node, width} of source.sourceLinks) {\n if (node === target) break;\n y -= width;\n }\n return y;\n }\n\n return sankey;\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import {linkHorizontal} from \"d3-shape\";\n\nfunction horizontalSource(d) {\n return [d.source.x1, d.y0];\n}\n\nfunction horizontalTarget(d) {\n return [d.target.x0, d.y1];\n}\n\nexport default function() {\n return linkHorizontal()\n .source(horizontalSource)\n .target(horizontalTarget);\n}\n","import { getTimeZoneFromTimeSetting } from \"./date\";\nimport { Constants } from \"../core/constants\";\nimport { scaleTime, scaleUtc, ScaleTime } from \"d3-scale\";\n\n/**\n * The complete D3 library is fairly large and has a lot of stuff we won't be using.\n * So only add sub-modules to the package.json (ex: d3-axis) and export stuff you need here.\n *\n * NOTE: @d3/types doesn't allow re-exporting of most of its interfaces, so if you need to ref\n * an interface, you may need to import directly from your component\n * Ex: import { CurveFactory } from \"d3-shape\";\n *\n */\nexport { extent } from \"d3-array\";\n\nexport {\n arc,\n area,\n line,\n pie,\n curveLinear,\n curveNatural,\n curveStepAfter,\n curveStepBefore,\n curveStep\n} from \"d3-shape\";\nexport { scaleLinear, scaleQuantile, scaleBand } from \"d3-scale\";\nexport {\n timeMinute,\n timeHour,\n timeDay,\n timeWeek,\n timeMonth,\n timeYear,\n utcMinute,\n utcHour,\n utcDay,\n utcWeek,\n utcMonth\n} from \"d3-time\";\nexport {\n sankey,\n sankeyLinkHorizontal,\n sankeyJustify,\n sankeyLeft,\n sankeyCenter,\n sankeyRight\n} from \"d3-sankey\";\n\nexport function scaleLocaleTime(): ScaleTime {\n const isUtc = getTimeZoneFromTimeSetting() === Constants.UTC;\n return isUtc ? scaleUtc() : scaleTime();\n}\n","import moment from \"moment-timezone\";\nimport { Timestamp } from \"google-protobuf/google/protobuf/timestamp_pb\";\nimport * as authService from \"../services/authService\";\nimport { timeMinute } from \"./d3\";\nimport { Constants } from \"../core/constants\";\nimport { label, logger } from \"../core/global\";\nimport {\n GranularityMap,\n Granularity\n} from \"generated-proto-files/timeseries_api_common_pb\";\nimport { unreachable } from \"./switch\";\nimport {\n tierRestrictedLookback,\n tierRestrictedLookbackDays\n} from \"../pages/settings/tier/commonTierRules\";\n\nexport const localTzValue = moment.tz.guess();\nexport const tzOptions = [\n { label: \"Local (\" + localTzValue + \")\", value: localTzValue },\n { label: Constants.UTC, value: Constants.UTC }\n];\nexport const NOW_WIGGLE_ROOM = 600000; // MS offset that end date of requested duration can differ from actual time\n\nexport const addHoursToCurrentTime = (hours: number): Date => {\n const currentTime = new Date();\n currentTime.setHours(currentTime.getHours() + hours);\n currentTime.setSeconds(0);\n return currentTime;\n};\n\nexport const toProtoTime = (ms: number): Timestamp => {\n const timeStamp = new Timestamp();\n timeStamp.setSeconds(Math.trunc(ms / 1000));\n return timeStamp;\n};\n\nexport const tsToMilliseconds = (ts: Timestamp): number => {\n return ts.getSeconds() * 1000;\n};\n\nexport type DateTimeValue = [number, number?] | undefined; // Numbers are Epoch Miliseconds, only uses first number if not range\nexport type DateRange = [number, number]; // Numbers are Epoch Miliseconds, only uses first number if not range\n\nexport enum TimeRangeOption {\n last15Minutes,\n lastHour,\n last3Hour,\n lastDay,\n // last3Days,\n lastWeek,\n last30Days,\n last60Days,\n last90Days,\n custom,\n lastYear\n}\n\nexport type TimeRangeType = { label: string; value: string };\n\nexport const timeRangeSelectOptions = (): TimeRangeType[] => {\n return [\n {\n label: label.component.lastHour,\n value: TimeRangeOption.lastHour.toString()\n },\n {\n label: label.component.lastDay,\n value: TimeRangeOption.lastDay.toString()\n },\n // {\n // label: label.component.last3d,\n // value: TimeRangeOption.last3Days.toString()\n // },\n {\n label: label.component.lastWeek,\n value: TimeRangeOption.lastWeek.toString()\n },\n {\n label: label.component.last30d,\n value: TimeRangeOption.last30Days.toString()\n },\n {\n label: label.component.last90d,\n value: TimeRangeOption.last90Days.toString()\n }\n ];\n};\n\nexport const bgpTimeRangeSelectOptions = (): TimeRangeType[] => {\n return [\n {\n label: label.component.lastHour,\n value: TimeRangeOption.lastHour.toString()\n },\n {\n label: label.component.lastDay,\n value: TimeRangeOption.lastDay.toString()\n },\n {\n label: label.component.lastWeek,\n value: TimeRangeOption.lastWeek.toString()\n },\n {\n label: label.component.last30d,\n value: TimeRangeOption.last30Days.toString()\n }\n ];\n};\n\nexport const rovTimeRangeSelectOptions = (): TimeRangeType[] => {\n return [\n {\n label: label.component.lastHour,\n value: TimeRangeOption.lastHour.toString()\n },\n {\n label: label.component.lastDay,\n value: TimeRangeOption.lastDay.toString()\n },\n {\n label: label.component.lastWeek,\n value: TimeRangeOption.lastWeek.toString()\n }\n ];\n};\n\nexport const filteredTimeRangeSelectOptions = (\n timeRange: TimeRangeType[]\n): TimeRangeType[] => {\n let filterTimeRange: boolean = true;\n return timeRange.filter((e, i, options) => {\n const timeRangeValue =\n i && (Number(options[i - 1].value as unknown) as TimeRangeOption);\n const tierLookbackDays = tierRestrictedLookback();\n if (tierLookbackDays && timeRangeValue === tierLookbackDays) {\n filterTimeRange = false;\n }\n return filterTimeRange;\n });\n};\n\n// TODO what to do with the custom time range??\nexport const timeRangeSelectOptionsCCNI = (): TimeRangeType[] => {\n return [\n ...filteredTimeRangeSelectOptions(timeRangeSelectOptions()),\n {\n label: label.component.custom,\n value: TimeRangeOption.custom.toString()\n }\n ];\n};\n\nexport const timeRangeSelectOptionsBGPUpdates = (): TimeRangeType[] => {\n return [\n ...filteredTimeRangeSelectOptions(bgpTimeRangeSelectOptions()),\n {\n label: label.component.custom,\n value: TimeRangeOption.custom.toString()\n }\n ];\n};\n\nexport const timeRangeSelectOptionsROV = (): TimeRangeType[] => {\n return [\n ...filteredTimeRangeSelectOptions(rovTimeRangeSelectOptions()),\n {\n label: label.component.custom,\n value: TimeRangeOption.custom.toString()\n }\n ];\n};\n\nexport type StandardTimeRangeOption = Exclude<\n TimeRangeOption,\n TimeRangeOption.custom\n>;\n\nexport interface Timespan {\n start: number;\n end: number;\n}\n\nexport function currentTimeRange(\n range: StandardTimeRangeOption,\n now: moment.Moment = moment().startOf(\"second\"),\n minuteResolution: boolean = false\n): [number, number] {\n // logger.debug(now.format(\"hh:mm:ss\"));\n if (minuteResolution) {\n now.seconds(0).milliseconds(0);\n }\n switch (range) {\n case TimeRangeOption.last15Minutes:\n return [now.clone().subtract(15, \"minutes\").valueOf(), now.valueOf()];\n case TimeRangeOption.lastHour:\n return [now.clone().subtract(1, \"hour\").valueOf(), now.valueOf()];\n case TimeRangeOption.last3Hour:\n return [now.clone().subtract(3, \"hour\").valueOf(), now.valueOf()];\n case TimeRangeOption.lastDay:\n return [now.clone().subtract(24, \"hour\").valueOf(), now.valueOf()];\n // case TimeRangeOption.last3Days:\n // return [\n // now\n // .clone()\n // .subtract(72, \"hour\")\n\n // .valueOf(),\n // now.valueOf()\n // ];\n case TimeRangeOption.lastWeek:\n return [\n now\n .clone()\n .subtract(24 * 7, \"hour\")\n .valueOf(),\n now.valueOf()\n ];\n case TimeRangeOption.last30Days:\n return [\n now\n .clone()\n .subtract(24 * 30, \"hour\")\n .valueOf(),\n now.valueOf()\n ];\n case TimeRangeOption.last60Days:\n return [\n now\n .clone()\n .subtract(24 * 60, \"hour\")\n .valueOf(),\n now.valueOf()\n ];\n case TimeRangeOption.last90Days:\n return [\n now\n .clone()\n .subtract(24 * 90, \"hour\")\n .valueOf(),\n now.valueOf()\n ];\n case TimeRangeOption.lastYear:\n return [now.clone().subtract(1, \"year\").valueOf(), now.valueOf()];\n default:\n unreachable(range);\n return [0, 0];\n }\n}\n\nexport const getTimeZoneFromTimeSetting = (): string => {\n const state = authService.getCurrentUserPreferences();\n if (state?.timezone === Constants.UTC) {\n return state.timezone;\n }\n return moment.tz.guess();\n};\n\nexport const getTimeFormatted = (\n val: number | moment.Moment,\n timeOnly: boolean = false\n): string => {\n const timezone = getTimeZoneFromTimeSetting();\n const isUtc = timezone === Constants.UTC;\n const valMoment = typeof val === \"number\" ? moment(val) : val;\n if (timeOnly) {\n return valMoment.format(\n isUtc ? Constants.UTC_FORMAT_TIME : Constants.BASIC_FORMAT_TIME\n );\n }\n return valMoment.format(\n isUtc ? Constants.UTC_FORMAT : Constants.BASIC_FORMAT\n );\n};\n\n/**\n * Gets a Timespan that represents the specified TimeRangeOption at the current time.\n * Converts something abstract like \"Last Hour\" to 1-2pm today (if it's today and 2pm.)\n */\nexport function getCurrentTimespan(timeRange: TimeRangeOption): Timespan {\n const now = timeMinute.floor(new Date()).getTime();\n switch (timeRange) {\n case TimeRangeOption.last15Minutes:\n return {\n start: moment(now).add(-15, \"m\").valueOf(),\n end: now\n };\n case TimeRangeOption.lastHour:\n return {\n start: moment(now).add(-1, \"h\").valueOf(),\n end: now\n };\n case TimeRangeOption.last3Hour:\n return {\n start: moment(now).add(-3, \"h\").valueOf(),\n end: now\n };\n case TimeRangeOption.lastDay:\n return {\n start: moment(now).add(-1, \"d\").valueOf(),\n end: now\n };\n // case TimeRangeOption.last3Days:\n // return {\n // start: moment(now)\n // .add(-3, \"d\")\n // .valueOf(),\n // end: now\n // };\n case TimeRangeOption.lastWeek:\n return {\n start: moment(now).add(-7, \"d\").valueOf(),\n end: now\n };\n case TimeRangeOption.last30Days:\n return {\n start: moment(now).add(-30, \"d\").valueOf(),\n end: now\n };\n case TimeRangeOption.last60Days:\n return {\n start: moment(now).add(-60, \"d\").valueOf(),\n end: now\n };\n case TimeRangeOption.last90Days:\n return {\n start: moment(now).add(-90, \"d\").valueOf(),\n end: now\n };\n case TimeRangeOption.lastYear:\n return {\n start: moment(now).add(-1, \"y\").valueOf(),\n end: now\n };\n default:\n throw new Error(\"Unrecognized TimeRange value: \" + timeRange);\n }\n}\n\nexport const DeviceTimeRange = [\n {\n label: label.component.lastHour,\n value: TimeRangeOption.lastHour.toString()\n },\n {\n label: label.component.lastDay,\n value: TimeRangeOption.lastDay.toString()\n },\n {\n label: label.component.lastWeek,\n value: TimeRangeOption.lastWeek.toString()\n },\n {\n label: label.component.last30d,\n value: TimeRangeOption.last30Days.toString()\n },\n { label: label.component.custom, value: TimeRangeOption.custom.toString() }\n];\n\nexport const granularityMap = new Map<\n number,\n GranularityMap[keyof GranularityMap]\n>();\ngranularityMap.set(TimeRangeOption.last15Minutes, Granularity.PT1M);\ngranularityMap.set(TimeRangeOption.lastHour, Granularity.PT1M);\ngranularityMap.set(TimeRangeOption.lastDay, Granularity.PT30M);\ngranularityMap.set(TimeRangeOption.lastWeek, Granularity.PT4H);\ngranularityMap.set(TimeRangeOption.last30Days, Granularity.P1D);\ngranularityMap.set(TimeRangeOption.last60Days, Granularity.P1D);\ngranularityMap.set(TimeRangeOption.last90Days, Granularity.P2D);\ngranularityMap.set(TimeRangeOption.lastYear, Granularity.P1W);\n\nexport const numBucketsMap = new Map([\n [TimeRangeOption.last15Minutes, 15],\n [TimeRangeOption.lastHour, 60], // 1M\n [TimeRangeOption.lastDay, 48], // 30M\n // [TimeRangeOption.last3Days, 72], // 1H\n [TimeRangeOption.lastWeek, 42], // 4H\n [TimeRangeOption.last30Days, 60], // 12H\n [TimeRangeOption.last60Days, 60], // 1D\n [TimeRangeOption.last90Days, 45], // 2D\n [TimeRangeOption.lastYear, 52] // 1W\n]);\n\nexport const granularityDurationMap = new Map<\n GranularityMap[keyof GranularityMap],\n number\n>([\n [Granularity.PT1M, 60],\n [Granularity.PT30M, 1800],\n [Granularity.PT6H, 3600 * 6],\n [Granularity.P1D, 86400],\n [Granularity.P1W, 86400 * 7]\n]);\n\nexport const getNumBuckets = (dateRange: [number, number]): number => {\n // check for tier lookback\n if (tierRestrictedLookback()) {\n const tierLookbackDays = tierRestrictedLookbackDays();\n const minDate = moment()\n .startOf(\"minutes\")\n .subtract(tierLookbackDays ? tierLookbackDays : 90, \"day\")\n .valueOf();\n if (dateRange[0] <= minDate) {\n logger.warn(\n \"Requested look-back range is outside the current subscription tier\"\n );\n return numBucketsMap.get(TimeRangeOption.lastDay) || 6;\n }\n }\n const minutes = moment(dateRange[1]).diff(moment(dateRange[0]), \"minute\");\n if (minutes <= 15) {\n return numBucketsMap.get(TimeRangeOption.last15Minutes) || 6;\n }\n if (minutes <= 30) {\n return 10;\n }\n if (minutes <= 60) {\n return numBucketsMap.get(TimeRangeOption.lastHour) || 6;\n }\n if (minutes <= 1800) {\n return numBucketsMap.get(TimeRangeOption.lastDay) || 6;\n }\n if (minutes <= 10080) {\n return numBucketsMap.get(TimeRangeOption.lastWeek) || 6;\n }\n if (minutes <= 86400) {\n return numBucketsMap.get(TimeRangeOption.last30Days) || 6;\n }\n if (minutes <= 86400 * 7) {\n return numBucketsMap.get(TimeRangeOption.lastYear) || 6;\n }\n return 6;\n};\n\nconst formatText = (timeText: string, num: number): string => {\n return num > 1 || num === 0\n ? `${label.last} ${num} ${timeText}s`\n : `${label.last} ${timeText}`;\n};\n\nexport const prettyDuration = (\n start: moment.Moment,\n end: moment.Moment = moment()\n): string => {\n const isSeconds = Math.floor(moment.duration(end.diff(start)).asSeconds());\n if (isSeconds >= 60) {\n const isMinutes = Math.floor(moment.duration(end.diff(start)).asMinutes());\n if (isMinutes >= 60) {\n const isHours = Math.floor(moment.duration(end.diff(start)).asHours());\n if (isHours >= 24) {\n const isDays = Math.floor(moment.duration(end.diff(start)).asDays());\n return formatText(label.day, isDays);\n }\n return formatText(label.hour, isHours);\n }\n return formatText(label.minute, isMinutes);\n }\n return formatText(label.second, isSeconds);\n};\n\nexport const durationSelectOptionsGran1 = [\n {\n label: label.component.tenMinutes,\n value: \"10\"\n },\n {\n label: label.component.thirtyMinutes,\n value: \"30\"\n },\n {\n label: label.component.oneHour,\n value: \"60\"\n },\n {\n label: label.component.threeHours,\n value: \"180\"\n },\n {\n label: label.component.sixHours,\n value: \"360\"\n },\n {\n label: label.component.twelveHours,\n value: \"720\"\n }\n];\n\nexport const durationSelectOptionsGran2 = [\n {\n label: label.component.thirtyMinutes,\n value: \"30\"\n },\n {\n label: label.component.oneHour,\n value: \"60\"\n },\n {\n label: label.component.threeHours,\n value: \"180\"\n },\n {\n label: label.component.sixHours,\n value: \"360\"\n },\n {\n label: label.component.twelveHours,\n value: \"720\"\n },\n {\n label: label.component.oneDay,\n value: \"1440\"\n },\n {\n label: label.component.threeDays,\n value: \"4320\"\n },\n {\n label: label.component.sevenDays,\n value: \"10080\"\n }\n];\n\nexport const durationSelectOptionsGran3 = [\n {\n label: label.component.threeHours,\n value: \"180\"\n },\n {\n label: label.component.sixHours,\n value: \"360\"\n },\n {\n label: label.component.twelveHours,\n value: \"720\"\n },\n {\n label: label.component.oneDay,\n value: \"1440\"\n },\n {\n label: label.component.threeDays,\n value: \"4320\"\n },\n {\n label: label.component.sevenDays,\n value: \"10080\"\n }\n];\n\n// HACK: Need a less stupid way to figure this out, but it works\nexport function isCustomRange(value: DateTimeValue): boolean {\n const now = moment().valueOf();\n return (\n !!value &&\n !!value[1] &&\n now - value[1] > NOW_WIGGLE_ROOM &&\n now - value[1] > 0\n );\n}\n\nexport const remainingDays = (\n startDate?: Timestamp,\n endDate?: Timestamp\n): string => {\n let content = label.null;\n if (startDate && endDate) {\n const days = moment(endDate.getSeconds() * 1000).diff(\n moment(startDate.getSeconds() * 1000),\n \"days\"\n );\n content = days + \" day(s)\";\n if (days <= 90) {\n if (days === 0) {\n content = label.expiresToday;\n } else if (days < 0) {\n content = label.expired;\n }\n }\n }\n return content;\n};\n","export function queryFocusableAll(\n element: HTMLElement = document.body\n): HTMLElement[] {\n return Array.from(\n element.querySelectorAll(\n \"a, button, input, textarea, select, details,[tabindex]\"\n )\n ).filter(\n (el) =>\n el instanceof HTMLElement &&\n !el.hasAttribute(\"disabled\") &&\n el.tabIndex !== -1\n ) as HTMLElement[];\n}\n\nexport function isElementInViewport(\n element: HTMLElement = document.body\n): boolean {\n const rect = element.getBoundingClientRect();\n\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n}\nexport function focusFirstElement(element: HTMLElement = document.body): void {\n const firstElement = queryFocusableAll(element)[0];\n if (firstElement && isElementInViewport(firstElement)) {\n firstElement.focus();\n }\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype ReverseMapping> = {\n [K in T[keyof T]]: { [P in keyof T]: K extends T[P] ? P : never }[keyof T];\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function reverseMapping>(\n t: T\n): ReverseMapping {\n const ret = {} as ReverseMapping;\n (Object.keys(t) as Array).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (k: keyof T): void => (ret[t[k]] = k as any)\n );\n return ret;\n}\n\nexport function titleCase(s: string): string {\n return s\n .replace(/[^a-z0-9]/gi, \" \")\n .toLowerCase()\n .split(\" \")\n .map((token: string): string => {\n return token.charAt(0).toUpperCase() + token.slice(1);\n })\n .join(\" \");\n}\n\nexport function replaceChar(s: string, c: string, v: string = \"\"): string {\n return s.replace(c, v);\n}\n","import { booleanValue } from \"./string\";\nimport { Constants } from \"../core/constants\";\nimport {\n SubscriptionFeature,\n SubscriptionFeatureMap\n} from \"generated-proto-files/ccsubs_gen_pb\";\nimport { label, logger } from \"../core/global\";\nimport { Icon } from \"../components/icon/icon\";\nimport * as React from \"react\";\n\nexport const getEnvName = (): string => {\n if (process.env.NODE_ENV === \"development\") {\n return \"dev watch\";\n }\n\n switch (window.location.host) {\n case \"localhost:7000\":\n return \"dev distro\";\n case \"staging.crosswork.cisco.com\":\n return \"staging\";\n case \"canary.crosswork.cisco.com\":\n return \"canary\";\n case \"hbird.crosswork.cisco.com\":\n return \"hbird\";\n default:\n if (\n /cw-lab-[0-9]+\\.cisco\\.com.*/.test(window.location.host) ||\n /.*-cw-dev.*/.test(window.location.host)\n ) {\n return \"cw-labs\";\n }\n return \"production\";\n }\n};\n\n/* eslint-disable camelcase */\nexport interface Environment {\n forgot_password_url: string;\n enroll_url: string;\n trust_alarms_enabled: string;\n maintenance: string;\n trial_token: string;\n analytics_url: string;\n analytics_site_id: string;\n analytics_enable: string;\n free_token: string;\n topology_ui_enable: string;\n cdg_auto_enrollment: string;\n prefix_history_lookback_start_date: string;\n rov_lookback_start_date: string;\n alarm_version: string;\n max_devices_per_import: string;\n}\n\nexport const getEnvironment = async (): Promise => {\n const response = await fetch(\"ui_props.json\");\n return response && response.json();\n};\n\nconst getConfig = async (): Promise => {\n const response = await fetch(\"ui_props.json\");\n return response;\n};\n\nexport const fetchMaintenanceSetting = (\n callbackFn: (maintenance: boolean) => void\n): void => {\n getConfig().then((response) => {\n const headerFlag = response.headers.get(\"xw-maintenance\");\n if (headerFlag && booleanValue(headerFlag)) {\n callbackFn(true);\n } else {\n response.json().then((resp: Environment) => {\n callbackFn(resp.maintenance === \"true\");\n });\n }\n });\n};\n\nexport const isAws = (): boolean => {\n return (\n window.location.href.includes(Constants.AWS_REG_INPROGRESS_URL) ||\n window.location.href.includes(Constants.AWS_LANDING_URL) ||\n window.location.href.includes(Constants.AWS_REGISTRATION_URL) ||\n window.location.href.includes(Constants.AWS_ERROR_URL)\n );\n};\n\nexport const isTrial = (): boolean => {\n return window.location.href.includes(Constants.TRIAL_URL);\n};\n\nexport const isFree = (): boolean => {\n return window.location.href.includes(Constants.FREE_URL);\n};\n\nexport const isPreFree = (): boolean => {\n return window.location.href.includes(\"#/signup\");\n};\n\nexport const isPreTrial = (): boolean => {\n return window.location.href.includes(\"#/trial\");\n};\n\nexport const isWelcome = (): boolean => {\n return window.location.hash.includes(\"/welcome\");\n};\n\nexport function isProduction(): boolean {\n return getEnvName() === \"production\";\n}\n// @ts-ignore\nexport const isFirefox = typeof InstallTrigger !== \"undefined\";\n// Disabling chrome webstore and runtime check since Chromium check stopped working from Chrome Build 106\nexport const isChromium =\n // @ts-ignore\n !!window.chrome; // && (!!window.chrome.webstore || !!window.chrome.runtime);\nexport const isSupportedBrowser = isChromium || isFirefox;\n\n// add any other application related config here\nexport interface FeatureConfig {\n rootUri: string;\n label: string;\n icon: React.ReactNode;\n type: SubscriptionFeatureMap[keyof SubscriptionFeatureMap];\n}\n\nexport const featureConfig = (\n featureType: SubscriptionFeatureMap[keyof SubscriptionFeatureMap],\n featureConfigs?: Array\n): FeatureConfig | undefined => {\n if (featureConfigs) {\n const _featureConfig = featureConfigs.find((value) => {\n return value.type === featureType;\n });\n if (_featureConfig) {\n return _featureConfig;\n }\n }\n switch (featureType) {\n case SubscriptionFeature.FEATURE_CCNI:\n return {\n rootUri: \"/extRoute\",\n label: label.networkInsights,\n icon: ,\n type: SubscriptionFeature.FEATURE_CCNI\n };\n case SubscriptionFeature.FEATURE_CCTI:\n return {\n rootUri: \"/trust\",\n label: label.trustInsights,\n icon: ,\n type: SubscriptionFeature.FEATURE_CCTI\n };\n case SubscriptionFeature.FEATURE_CCTA:\n return {\n rootUri: \"/traffic\",\n label: label.trafficAnalysis,\n icon: ,\n type: SubscriptionFeature.FEATURE_CCTA\n };\n default:\n logger.warn(\"invalid feature config defined \");\n }\n return undefined;\n};\n","export type StringTransform = (input: T) => string;\n\nexport interface ToStringable {\n toString(): string;\n}\nexport const initials = (input: string): string => {\n if (input === \"\") {\n return \"\";\n }\n\n const parts = input.split(/\\s+/);\n if (parts.length < 2) {\n return input[0].toUpperCase();\n }\n return parts[0][0].toUpperCase() + parts[parts.length - 1][0].toUpperCase();\n};\n\nexport function formatPhoneNumber(\n input: string,\n countryCode: string = \"US\"\n): string {\n const numbers = input.replace(/\\D/g, \"\");\n\n switch (countryCode) {\n case \"US\":\n if (numbers.length === 10) {\n return `1-${numbers.slice(0, 3)}-${numbers.slice(3, 6)}-${numbers.slice(\n 6\n )}`;\n } else {\n return \"1-\" + numbers;\n }\n default:\n return input;\n }\n}\n\nexport function stringAccessor(\n stringOrTransform: string | StringTransform | undefined,\n param: T\n): string | undefined {\n return typeof stringOrTransform === \"function\"\n ? stringOrTransform(param)\n : stringOrTransform;\n}\n\nexport function wordCount(input: string): number {\n const trimmed = input.trim();\n if (trimmed.length <= 0) {\n return 0;\n }\n return trimmed.split(/\\s+/).length;\n}\n\nexport function booleanValue(value: string): boolean {\n return value.toLowerCase() === \"true\";\n}\n\nexport function passwordify(value: string): string {\n return value.replace(/./g, \"*\");\n}\n\nexport function titleCase(val: string): string {\n const str = val.toLowerCase().split(\" \");\n for (let i = 0; i < str.length; i++) {\n str[i] = str[i].charAt(0).toUpperCase() + str[i].slice(1);\n }\n return str.join(\" \");\n}\n\nexport function hexEncode(val: string): string {\n let hex;\n let result = \"\";\n for (let i = 0; i < val.length; i++) {\n hex = val.charCodeAt(i).toString(16);\n result += (\"000\" + hex).slice(-4);\n }\n\n return result;\n}\n\nexport function hexDecode(val: string): string {\n let str = \"\";\n for (let i = 0; i < val.length && val.substr(i, 2) !== \"00\"; i += 2)\n str += String.fromCharCode(parseInt(val.substr(i, 2), 16));\n return str;\n}\n\nexport const stringToArray = (\n value: string | undefined,\n separator: string = \",\"\n): string[] => {\n if (value) {\n if (value.includes(separator)) {\n return value.split(separator);\n }\n return [value];\n }\n return [];\n};\n","// Insert into default case to make sure all cases are always covered\nexport function unreachable(x: never): void {\n throw new Error(`This should be unreachable! but got ${x}`);\n}\n","import { Constants } from \"../core/constants\";\n\nconst debounce = (\n fn: (...args: any[]) => void, // eslint-disable-line @typescript-eslint/no-explicit-any\n wait = Constants.DEBOUNCE_DEFAULT,\n immediate = false\n): typeof fn => {\n let timeout: number | undefined;\n return function executedFunction(this: unknown, ...args): void {\n const later = (): void => {\n timeout = undefined;\n if (!immediate) {\n fn.apply(this, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = window.setTimeout(later, wait);\n if (callNow) {\n fn.apply(this, args);\n }\n };\n};\n\nconst throttle = (\n fn: (...args: any[]) => void, // eslint-disable-line @typescript-eslint/no-explicit-any\n delay: number\n): typeof fn => {\n let lastCall = 0;\n return (...args): void => {\n const now = new Date().getTime();\n if (now - lastCall < delay) {\n return;\n }\n lastCall = now;\n fn(...args);\n };\n};\n\nexport { debounce, throttle };\n","import { v4 as uuidv4 } from \"uuid\";\n\nexport default uuidv4;\n\nexport const emptyUUID = \"00000000-0000-0000-0000-000000000001\";\n\nexport const generatePolicyId = (): string => {\n return \"P_\" + uuidv4();\n};\n\nexport const generateEndpointId = (): string => {\n return \"E_\" + uuidv4();\n};\n\nexport const generatePeerStatsId = (): string => {\n return \"PStats_\" + uuidv4();\n};\n\nexport const generateDCRestartId = (): string => {\n return \"DC_Restart_\" + uuidv4();\n};\n\nexport const generateDeviceChangesId = (): string => {\n return \"DC_Changes_\" + uuidv4();\n};\n\nexport const generateHwSwChangesPlusCountId = (): string => {\n return \"HwSw_Changes_Count\" + uuidv4();\n};\n\nexport const generateHwSwChangesChartId = (): string => {\n return \"D_HwSw_\" + uuidv4();\n};\n\nexport const generateDeviceHwSwChangesId = (): string => {\n return \"D_HwSw_Changes\" + uuidv4();\n};\n\nexport const generateDeviceDonutId = (): string => {\n return \"Device_Donut_\" + uuidv4();\n};\n\nexport const generateDossierErrorId = (): string => {\n return \"Dossier_Error_\" + uuidv4();\n};\n\nexport const generateFindPackageChartId = (): string => {\n return \"FindPackage_Chart_\" + uuidv4();\n};\n\nexport const generateFindPackageChartRestartsId = (): string => {\n return \"FindPackage_Chart_Restarts_\" + uuidv4();\n};\n\nexport const generateSNMPCommunitiesId = (): string => {\n return \"SNMP_\" + uuidv4();\n};\n\nexport const generateFlowConfigurationId = (): string => {\n return \"FlowConfig_\" + uuidv4();\n};\n\nexport const generateRPSLTableRowId = (): string => {\n return \"RPSL_\" + uuidv4();\n};\n\nexport const generateBGPTableRequestId = (): string => {\n return \"BGP_Updates_Table_\" + uuidv4();\n};\n\nexport const generateBGPChartSelectedAdvertisementsId = (): string => {\n return \"BGP_Chart_Selected_Advertisements_\" + uuidv4();\n};\n\nexport const generateBGPChartSelectedWithdrawalsId = (): string => {\n return \"BGP_Chart_Selected_Withdrawals_\" + uuidv4();\n};\n\nexport const generateBGPChartWithdrawalsId = (): string => {\n return \"BGP_Chart_Withdrawals_\" + uuidv4();\n};\n\nexport const generateBGPChartAdvertisementsId = (): string => {\n return \"BGP_Chart_Advertisements_\" + uuidv4();\n};\nexport const generateAlarmHistoryId = (): string => {\n return \"Alarm_History_Table_\" + uuidv4();\n};\nexport const generateAlarmHistoryTotalsId = (): string => {\n return \"Alarm_History_Table_Totals_\" + uuidv4();\n};\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","'use strict';\n\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","/*\n * verror.js: richer JavaScript errors\n */\n\nvar mod_assertplus = require('assert-plus');\nvar mod_util = require('util');\n\nvar mod_extsprintf = require('extsprintf');\nvar mod_isError = require('core-util-is').isError;\nvar sprintf = mod_extsprintf.sprintf;\n\n/*\n * Public interface\n */\n\n/* So you can 'var VError = require('verror')' */\nmodule.exports = VError;\n/* For compatibility */\nVError.VError = VError;\n/* Other exported classes */\nVError.SError = SError;\nVError.WError = WError;\nVError.MultiError = MultiError;\n\n/*\n * Common function used to parse constructor arguments for VError, WError, and\n * SError. Named arguments to this function:\n *\n * strict\t\tforce strict interpretation of sprintf arguments, even\n * \t\t\tif the options in \"argv\" don't say so\n *\n * argv\t\terror's constructor arguments, which are to be\n * \t\t\tinterpreted as described in README.md. For quick\n * \t\t\treference, \"argv\" has one of the following forms:\n *\n * [ sprintf_args... ] (argv[0] is a string)\n * [ cause, sprintf_args... ] (argv[0] is an Error)\n * [ options, sprintf_args... ] (argv[0] is an object)\n *\n * This function normalizes these forms, producing an object with the following\n * properties:\n *\n * options equivalent to \"options\" in third form. This will never\n * \t\t\tbe a direct reference to what the caller passed in\n * \t\t\t(i.e., it may be a shallow copy), so it can be freely\n * \t\t\tmodified.\n *\n * shortmessage result of sprintf(sprintf_args), taking options.strict\n * \t\t\tinto account as described in README.md.\n */\nfunction parseConstructorArguments(args)\n{\n\tvar argv, options, sprintf_args, shortmessage, k;\n\n\tmod_assertplus.object(args, 'args');\n\tmod_assertplus.bool(args.strict, 'args.strict');\n\tmod_assertplus.array(args.argv, 'args.argv');\n\targv = args.argv;\n\n\t/*\n\t * First, figure out which form of invocation we've been given.\n\t */\n\tif (argv.length === 0) {\n\t\toptions = {};\n\t\tsprintf_args = [];\n\t} else if (mod_isError(argv[0])) {\n\t\toptions = { 'cause': argv[0] };\n\t\tsprintf_args = argv.slice(1);\n\t} else if (typeof (argv[0]) === 'object') {\n\t\toptions = {};\n\t\tfor (k in argv[0]) {\n\t\t\toptions[k] = argv[0][k];\n\t\t}\n\t\tsprintf_args = argv.slice(1);\n\t} else {\n\t\tmod_assertplus.string(argv[0],\n\t\t 'first argument to VError, SError, or WError ' +\n\t\t 'constructor must be a string, object, or Error');\n\t\toptions = {};\n\t\tsprintf_args = argv;\n\t}\n\n\t/*\n\t * Now construct the error's message.\n\t *\n\t * extsprintf (which we invoke here with our caller's arguments in order\n\t * to construct this Error's message) is strict in its interpretation of\n\t * values to be processed by the \"%s\" specifier. The value passed to\n\t * extsprintf must actually be a string or something convertible to a\n\t * String using .toString(). Passing other values (notably \"null\" and\n\t * \"undefined\") is considered a programmer error. The assumption is\n\t * that if you actually want to print the string \"null\" or \"undefined\",\n\t * then that's easy to do that when you're calling extsprintf; on the\n\t * other hand, if you did NOT want that (i.e., there's actually a bug\n\t * where the program assumes some variable is non-null and tries to\n\t * print it, which might happen when constructing a packet or file in\n\t * some specific format), then it's better to stop immediately than\n\t * produce bogus output.\n\t *\n\t * However, sometimes the bug is only in the code calling VError, and a\n\t * programmer might prefer to have the error message contain \"null\" or\n\t * \"undefined\" rather than have the bug in the error path crash the\n\t * program (making the first bug harder to identify). For that reason,\n\t * by default VError converts \"null\" or \"undefined\" arguments to their\n\t * string representations and passes those to extsprintf. Programmers\n\t * desiring the strict behavior can use the SError class or pass the\n\t * \"strict\" option to the VError constructor.\n\t */\n\tmod_assertplus.object(options);\n\tif (!options.strict && !args.strict) {\n\t\tsprintf_args = sprintf_args.map(function (a) {\n\t\t\treturn (a === null ? 'null' :\n\t\t\t a === undefined ? 'undefined' : a);\n\t\t});\n\t}\n\n\tif (sprintf_args.length === 0) {\n\t\tshortmessage = '';\n\t} else {\n\t\tshortmessage = sprintf.apply(null, sprintf_args);\n\t}\n\n\treturn ({\n\t 'options': options,\n\t 'shortmessage': shortmessage\n\t});\n}\n\n/*\n * See README.md for reference documentation.\n */\nfunction VError()\n{\n\tvar args, obj, parsed, cause, ctor, message, k;\n\n\targs = Array.prototype.slice.call(arguments, 0);\n\n\t/*\n\t * This is a regrettable pattern, but JavaScript's built-in Error class\n\t * is defined to work this way, so we allow the constructor to be called\n\t * without \"new\".\n\t */\n\tif (!(this instanceof VError)) {\n\t\tobj = Object.create(VError.prototype);\n\t\tVError.apply(obj, arguments);\n\t\treturn (obj);\n\t}\n\n\t/*\n\t * For convenience and backwards compatibility, we support several\n\t * different calling forms. Normalize them here.\n\t */\n\tparsed = parseConstructorArguments({\n\t 'argv': args,\n\t 'strict': false\n\t});\n\n\t/*\n\t * If we've been given a name, apply it now.\n\t */\n\tif (parsed.options.name) {\n\t\tmod_assertplus.string(parsed.options.name,\n\t\t 'error\\'s \"name\" must be a string');\n\t\tthis.name = parsed.options.name;\n\t}\n\n\t/*\n\t * For debugging, we keep track of the original short message (attached\n\t * this Error particularly) separately from the complete message (which\n\t * includes the messages of our cause chain).\n\t */\n\tthis.jse_shortmsg = parsed.shortmessage;\n\tmessage = parsed.shortmessage;\n\n\t/*\n\t * If we've been given a cause, record a reference to it and update our\n\t * message appropriately.\n\t */\n\tcause = parsed.options.cause;\n\tif (cause) {\n\t\tmod_assertplus.ok(mod_isError(cause), 'cause is not an Error');\n\t\tthis.jse_cause = cause;\n\n\t\tif (!parsed.options.skipCauseMessage) {\n\t\t\tmessage += ': ' + cause.message;\n\t\t}\n\t}\n\n\t/*\n\t * If we've been given an object with properties, shallow-copy that\n\t * here. We don't want to use a deep copy in case there are non-plain\n\t * objects here, but we don't want to use the original object in case\n\t * the caller modifies it later.\n\t */\n\tthis.jse_info = {};\n\tif (parsed.options.info) {\n\t\tfor (k in parsed.options.info) {\n\t\t\tthis.jse_info[k] = parsed.options.info[k];\n\t\t}\n\t}\n\n\tthis.message = message;\n\tError.call(this, message);\n\n\tif (Error.captureStackTrace) {\n\t\tctor = parsed.options.constructorOpt || this.constructor;\n\t\tError.captureStackTrace(this, ctor);\n\t}\n\n\treturn (this);\n}\n\nmod_util.inherits(VError, Error);\nVError.prototype.name = 'VError';\n\nVError.prototype.toString = function ve_toString()\n{\n\tvar str = (this.hasOwnProperty('name') && this.name ||\n\t\tthis.constructor.name || this.constructor.prototype.name);\n\tif (this.message)\n\t\tstr += ': ' + this.message;\n\n\treturn (str);\n};\n\n/*\n * This method is provided for compatibility. New callers should use\n * VError.cause() instead. That method also uses the saner `null` return value\n * when there is no cause.\n */\nVError.prototype.cause = function ve_cause()\n{\n\tvar cause = VError.cause(this);\n\treturn (cause === null ? undefined : cause);\n};\n\n/*\n * Static methods\n *\n * These class-level methods are provided so that callers can use them on\n * instances of Errors that are not VErrors. New interfaces should be provided\n * only using static methods to eliminate the class of programming mistake where\n * people fail to check whether the Error object has the corresponding methods.\n */\n\nVError.cause = function (err)\n{\n\tmod_assertplus.ok(mod_isError(err), 'err must be an Error');\n\treturn (mod_isError(err.jse_cause) ? err.jse_cause : null);\n};\n\nVError.info = function (err)\n{\n\tvar rv, cause, k;\n\n\tmod_assertplus.ok(mod_isError(err), 'err must be an Error');\n\tcause = VError.cause(err);\n\tif (cause !== null) {\n\t\trv = VError.info(cause);\n\t} else {\n\t\trv = {};\n\t}\n\n\tif (typeof (err.jse_info) == 'object' && err.jse_info !== null) {\n\t\tfor (k in err.jse_info) {\n\t\t\trv[k] = err.jse_info[k];\n\t\t}\n\t}\n\n\treturn (rv);\n};\n\nVError.findCauseByName = function (err, name)\n{\n\tvar cause;\n\n\tmod_assertplus.ok(mod_isError(err), 'err must be an Error');\n\tmod_assertplus.string(name, 'name');\n\tmod_assertplus.ok(name.length > 0, 'name cannot be empty');\n\n\tfor (cause = err; cause !== null; cause = VError.cause(cause)) {\n\t\tmod_assertplus.ok(mod_isError(cause));\n\t\tif (cause.name == name) {\n\t\t\treturn (cause);\n\t\t}\n\t}\n\n\treturn (null);\n};\n\nVError.hasCauseWithName = function (err, name)\n{\n\treturn (VError.findCauseByName(err, name) !== null);\n};\n\nVError.fullStack = function (err)\n{\n\tmod_assertplus.ok(mod_isError(err), 'err must be an Error');\n\n\tvar cause = VError.cause(err);\n\n\tif (cause) {\n\t\treturn (err.stack + '\\ncaused by: ' + VError.fullStack(cause));\n\t}\n\n\treturn (err.stack);\n};\n\nVError.errorFromList = function (errors)\n{\n\tmod_assertplus.arrayOfObject(errors, 'errors');\n\n\tif (errors.length === 0) {\n\t\treturn (null);\n\t}\n\n\terrors.forEach(function (e) {\n\t\tmod_assertplus.ok(mod_isError(e));\n\t});\n\n\tif (errors.length == 1) {\n\t\treturn (errors[0]);\n\t}\n\n\treturn (new MultiError(errors));\n};\n\nVError.errorForEach = function (err, func)\n{\n\tmod_assertplus.ok(mod_isError(err), 'err must be an Error');\n\tmod_assertplus.func(func, 'func');\n\n\tif (err instanceof MultiError) {\n\t\terr.errors().forEach(function iterError(e) { func(e); });\n\t} else {\n\t\tfunc(err);\n\t}\n};\n\n\n/*\n * SError is like VError, but stricter about types. You cannot pass \"null\" or\n * \"undefined\" as string arguments to the formatter.\n */\nfunction SError()\n{\n\tvar args, obj, parsed, options;\n\n\targs = Array.prototype.slice.call(arguments, 0);\n\tif (!(this instanceof SError)) {\n\t\tobj = Object.create(SError.prototype);\n\t\tSError.apply(obj, arguments);\n\t\treturn (obj);\n\t}\n\n\tparsed = parseConstructorArguments({\n\t 'argv': args,\n\t 'strict': true\n\t});\n\n\toptions = parsed.options;\n\tVError.call(this, options, '%s', parsed.shortmessage);\n\n\treturn (this);\n}\n\n/*\n * We don't bother setting SError.prototype.name because once constructed,\n * SErrors are just like VErrors.\n */\nmod_util.inherits(SError, VError);\n\n\n/*\n * Represents a collection of errors for the purpose of consumers that generally\n * only deal with one error. Callers can extract the individual errors\n * contained in this object, but may also just treat it as a normal single\n * error, in which case a summary message will be printed.\n */\nfunction MultiError(errors)\n{\n\tmod_assertplus.array(errors, 'list of errors');\n\tmod_assertplus.ok(errors.length > 0, 'must be at least one error');\n\tthis.ase_errors = errors;\n\n\tVError.call(this, {\n\t 'cause': errors[0]\n\t}, 'first of %d error%s', errors.length, errors.length == 1 ? '' : 's');\n}\n\nmod_util.inherits(MultiError, VError);\nMultiError.prototype.name = 'MultiError';\n\nMultiError.prototype.errors = function me_errors()\n{\n\treturn (this.ase_errors.slice(0));\n};\n\n\n/*\n * See README.md for reference details.\n */\nfunction WError()\n{\n\tvar args, obj, parsed, options;\n\n\targs = Array.prototype.slice.call(arguments, 0);\n\tif (!(this instanceof WError)) {\n\t\tobj = Object.create(WError.prototype);\n\t\tWError.apply(obj, args);\n\t\treturn (obj);\n\t}\n\n\tparsed = parseConstructorArguments({\n\t 'argv': args,\n\t 'strict': false\n\t});\n\n\toptions = parsed.options;\n\toptions['skipCauseMessage'] = true;\n\tVError.call(this, options, '%s', parsed.shortmessage);\n\n\treturn (this);\n}\n\nmod_util.inherits(WError, VError);\nWError.prototype.name = 'WError';\n\nWError.prototype.toString = function we_toString()\n{\n\tvar str = (this.hasOwnProperty('name') && this.name ||\n\t\tthis.constructor.name || this.constructor.prototype.name);\n\tif (this.message)\n\t\tstr += ': ' + this.message;\n\tif (this.jse_cause && this.jse_cause.message)\n\t\tstr += '; caused by ' + this.jse_cause.toString();\n\n\treturn (str);\n};\n\n/*\n * For purely historical reasons, WError's cause() function allows you to set\n * the cause.\n */\nWError.prototype.cause = function we_cause(c)\n{\n\tif (mod_isError(c))\n\t\tthis.jse_cause = c;\n\n\treturn (this.jse_cause);\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","var map = {\n\t\"./add-queue.svg\": [\n\t\t7026,\n\t\t7026\n\t],\n\t\"./arrow-down-in.svg\": [\n\t\t49829,\n\t\t9829\n\t],\n\t\"./arrow-down.svg\": [\n\t\t21887,\n\t\t1887\n\t],\n\t\"./arrow-full-right.svg\": [\n\t\t46341,\n\t\t6341\n\t],\n\t\"./arrow-out.svg\": [\n\t\t84925,\n\t\t4925\n\t],\n\t\"./arrow-up-out.svg\": [\n\t\t59763,\n\t\t9763\n\t],\n\t\"./arrow-up-right.svg\": [\n\t\t49537,\n\t\t9537\n\t],\n\t\"./arrow-up.svg\": [\n\t\t75312,\n\t\t5312\n\t],\n\t\"./arrow.svg\": [\n\t\t68086,\n\t\t8086\n\t],\n\t\"./arrows-apart.svg\": [\n\t\t30848,\n\t\t848\n\t],\n\t\"./arrows-random.svg\": [\n\t\t54839,\n\t\t4839\n\t],\n\t\"./arrows-together.svg\": [\n\t\t18136,\n\t\t8136\n\t],\n\t\"./bell.svg\": [\n\t\t88060,\n\t\t8060\n\t],\n\t\"./broken-chain.svg\": [\n\t\t87184,\n\t\t7184\n\t],\n\t\"./calender.svg\": [\n\t\t80077,\n\t\t77\n\t],\n\t\"./ccni-logo.svg\": [\n\t\t78074,\n\t\t8074\n\t],\n\t\"./ccta-logo.svg\": [\n\t\t83016,\n\t\t3016\n\t],\n\t\"./ccti-logo.svg\": [\n\t\t84656,\n\t\t4656\n\t],\n\t\"./cdg-lg.svg\": [\n\t\t98493,\n\t\t8493\n\t],\n\t\"./checkmark.svg\": [\n\t\t96994,\n\t\t6994\n\t],\n\t\"./circle-additional.svg\": [\n\t\t2559,\n\t\t2559\n\t],\n\t\"./circle-arrow.svg\": [\n\t\t53563,\n\t\t3563\n\t],\n\t\"./circle-available.svg\": [\n\t\t7889\n\t],\n\t\"./circle-checkmark.svg\": [\n\t\t41259,\n\t\t1259\n\t],\n\t\"./circle-close.svg\": [\n\t\t88988,\n\t\t8988\n\t],\n\t\"./circle-dotdot.svg\": [\n\t\t56054,\n\t\t6054\n\t],\n\t\"./circle-empty.svg\": [\n\t\t2435\n\t],\n\t\"./circle-exclamation.svg\": [\n\t\t6563,\n\t\t6563\n\t],\n\t\"./circle-line.svg\": [\n\t\t18350,\n\t\t8350\n\t],\n\t\"./circle-minus.svg\": [\n\t\t68144,\n\t\t8144\n\t],\n\t\"./circle-question.svg\": [\n\t\t49812,\n\t\t9812\n\t],\n\t\"./circle-x.svg\": [\n\t\t92176,\n\t\t2176\n\t],\n\t\"./cisco-logo.svg\": [\n\t\t40196,\n\t\t196\n\t],\n\t\"./clock.svg\": [\n\t\t92955,\n\t\t2955\n\t],\n\t\"./cloud-lg.svg\": [\n\t\t56652,\n\t\t6652\n\t],\n\t\"./color-icon-circle-additional-dark.svg\": [\n\t\t77504,\n\t\t7504\n\t],\n\t\"./color-icon-circle-additional-high-contrast.svg\": [\n\t\t36635,\n\t\t6635\n\t],\n\t\"./color-icon-circle-additional-light.svg\": [\n\t\t208,\n\t\t208\n\t],\n\t\"./color-icon-circle-minus-dark.svg\": [\n\t\t65033,\n\t\t5033\n\t],\n\t\"./color-icon-circle-minus-high-contrast.svg\": [\n\t\t4316,\n\t\t4316\n\t],\n\t\"./color-icon-circle-minus-light.svg\": [\n\t\t18687,\n\t\t8687\n\t],\n\t\"./color-icon-stripe.svg\": [\n\t\t31996,\n\t\t1996\n\t],\n\t\"./community.svg\": [\n\t\t28974,\n\t\t8974\n\t],\n\t\"./components.svg\": [\n\t\t1895,\n\t\t1895\n\t],\n\t\"./data.svg\": [\n\t\t16347,\n\t\t6347\n\t],\n\t\"./deselected-boxes.svg\": [\n\t\t68713,\n\t\t8713\n\t],\n\t\"./device-lg.svg\": [\n\t\t44233,\n\t\t4233\n\t],\n\t\"./device.svg\": [\n\t\t93837,\n\t\t3837\n\t],\n\t\"./disk.svg\": [\n\t\t1128,\n\t\t1128\n\t],\n\t\"./dots.svg\": [\n\t\t95447,\n\t\t5447\n\t],\n\t\"./double-box.svg\": [\n\t\t77332,\n\t\t7332\n\t],\n\t\"./double-wedge.svg\": [\n\t\t65515,\n\t\t5515\n\t],\n\t\"./down-lock.svg\": [\n\t\t26345,\n\t\t6345\n\t],\n\t\"./file.svg\": [\n\t\t25349,\n\t\t5349\n\t],\n\t\"./fingerprint.svg\": [\n\t\t21261,\n\t\t1261\n\t],\n\t\"./flow.svg\": [\n\t\t1067,\n\t\t1067\n\t],\n\t\"./funnel.svg\": [\n\t\t25919,\n\t\t5919\n\t],\n\t\"./gear-18.svg\": [\n\t\t85980,\n\t\t5980\n\t],\n\t\"./gear.svg\": [\n\t\t51990,\n\t\t1990\n\t],\n\t\"./heart-18.svg\": [\n\t\t46477,\n\t\t6477\n\t],\n\t\"./insights_delta.svg\": [\n\t\t52663,\n\t\t2663\n\t],\n\t\"./insights_install.svg\": [\n\t\t46188,\n\t\t6188\n\t],\n\t\"./insights_remove.svg\": [\n\t\t18803,\n\t\t8803\n\t],\n\t\"./key.svg\": [\n\t\t56,\n\t\t56\n\t],\n\t\"./launch.svg\": [\n\t\t79702,\n\t\t9702\n\t],\n\t\"./left-arrow-thick.svg\": [\n\t\t2620,\n\t\t2620\n\t],\n\t\"./left-arrow.svg\": [\n\t\t48792,\n\t\t6411\n\t],\n\t\"./lines.svg\": [\n\t\t86184,\n\t\t6184\n\t],\n\t\"./magnifying-glass.svg\": [\n\t\t80123,\n\t\t123\n\t],\n\t\"./map-point.svg\": [\n\t\t17170,\n\t\t7170\n\t],\n\t\"./menu-activity-log.svg\": [\n\t\t3605,\n\t\t3605\n\t],\n\t\"./menu-buy.svg\": [\n\t\t44709,\n\t\t4709\n\t],\n\t\"./menu-external-routing.svg\": [\n\t\t23524,\n\t\t1143\n\t],\n\t\"./menu-help.svg\": [\n\t\t22482,\n\t\t2482\n\t],\n\t\"./menu-internal-routing.svg\": [\n\t\t39233,\n\t\t9233\n\t],\n\t\"./menu-settings.svg\": [\n\t\t39356,\n\t\t9356\n\t],\n\t\"./menu-telemetry.svg\": [\n\t\t67276,\n\t\t7276\n\t],\n\t\"./menu-traffic-analysis.svg\": [\n\t\t19481,\n\t\t9481\n\t],\n\t\"./menu-trust-insights.svg\": [\n\t\t71227,\n\t\t1227\n\t],\n\t\"./minus.svg\": [\n\t\t56073,\n\t\t6073\n\t],\n\t\"./moon.svg\": [\n\t\t6828,\n\t\t6828\n\t],\n\t\"./move.svg\": [\n\t\t10800,\n\t\t800\n\t],\n\t\"./obj-asn.svg\": [\n\t\t21135,\n\t\t1135\n\t],\n\t\"./obj-dashboard.svg\": [\n\t\t90149,\n\t\t149\n\t],\n\t\"./obj-devices.svg\": [\n\t\t66724,\n\t\t6724\n\t],\n\t\"./obj-interface.svg\": [\n\t\t29308,\n\t\t9308\n\t],\n\t\"./obj-report.svg\": [\n\t\t69261,\n\t\t9261\n\t],\n\t\"./obj-route.svg\": [\n\t\t67262,\n\t\t7262\n\t],\n\t\"./obj-rule.svg\": [\n\t\t46421,\n\t\t6421\n\t],\n\t\"./pause.svg\": [\n\t\t67355,\n\t\t7355\n\t],\n\t\"./pencil.svg\": [\n\t\t90840,\n\t\t840\n\t],\n\t\"./pin.svg\": [\n\t\t4704,\n\t\t4704\n\t],\n\t\"./platform-logo.svg\": [\n\t\t69682,\n\t\t9682\n\t],\n\t\"./play.svg\": [\n\t\t58133,\n\t\t8133\n\t],\n\t\"./plus.svg\": [\n\t\t73499,\n\t\t3499\n\t],\n\t\"./power-on.svg\": [\n\t\t58904,\n\t\t8904\n\t],\n\t\"./printer-18.svg\": [\n\t\t86449,\n\t\t6449\n\t],\n\t\"./products.svg\": [\n\t\t85059,\n\t\t5059\n\t],\n\t\"./rate.svg\": [\n\t\t33889,\n\t\t3889\n\t],\n\t\"./reel.svg\": [\n\t\t58743,\n\t\t8743\n\t],\n\t\"./report.svg\": [\n\t\t84557,\n\t\t4557\n\t],\n\t\"./right-arrow-thick.svg\": [\n\t\t74103,\n\t\t6484\n\t],\n\t\"./right-arrow.svg\": [\n\t\t62503,\n\t\t2503\n\t],\n\t\"./selected-boxes.svg\": [\n\t\t12620,\n\t\t239\n\t],\n\t\"./six-dots.svg\": [\n\t\t1190,\n\t\t1190\n\t],\n\t\"./slide-in.svg\": [\n\t\t7202,\n\t\t7202\n\t],\n\t\"./sort.svg\": [\n\t\t59095,\n\t\t9095\n\t],\n\t\"./square.svg\": [\n\t\t36446,\n\t\t6446\n\t],\n\t\"./stacked-bar.svg\": [\n\t\t7766,\n\t\t7766\n\t],\n\t\"./star-off.svg\": [\n\t\t54103,\n\t\t4103\n\t],\n\t\"./star-on.svg\": [\n\t\t92635,\n\t\t2635\n\t],\n\t\"./stop.svg\": [\n\t\t7371,\n\t\t7371\n\t],\n\t\"./support.svg\": [\n\t\t35140,\n\t\t5140\n\t],\n\t\"./switches.svg\": [\n\t\t59611,\n\t\t9611\n\t],\n\t\"./table.svg\": [\n\t\t3145,\n\t\t3145\n\t],\n\t\"./tag.svg\": [\n\t\t8917,\n\t\t8917\n\t],\n\t\"./timeline-ico-arrow-line.svg\": [\n\t\t59445,\n\t\t1826\n\t],\n\t\"./timeline-ico-bar.svg\": [\n\t\t32554,\n\t\t2554\n\t],\n\t\"./timeline-ico-bars.svg\": [\n\t\t14613,\n\t\t4613\n\t],\n\t\"./timeline-ico-dot-line-error.svg\": [\n\t\t90374,\n\t\t374\n\t],\n\t\"./timeline-ico-dot-line.svg\": [\n\t\t883,\n\t\t883\n\t],\n\t\"./timeline-ico-line.svg\": [\n\t\t79257,\n\t\t9257\n\t],\n\t\"./timeline-ico-rectangular-dot-line.svg\": [\n\t\t5158,\n\t\t5158\n\t],\n\t\"./triangle.svg\": [\n\t\t83667,\n\t\t3667\n\t],\n\t\"./trigger.svg\": [\n\t\t55781,\n\t\t5781\n\t],\n\t\"./two-wedges.svg\": [\n\t\t60527,\n\t\t527\n\t],\n\t\"./up-lock.svg\": [\n\t\t79508,\n\t\t9508\n\t],\n\t\"./wedge-left-right.svg\": [\n\t\t42140,\n\t\t2140\n\t],\n\t\"./wedge.svg\": [\n\t\t41673,\n\t\t1673\n\t],\n\t\"./x.svg\": [\n\t\t74569,\n\t\t4569\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 94681;\nmodule.exports = webpackAsyncContext;","// source: api.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar error_pb = require('./error_pb.js');\ngoog.object.extend(proto, error_pb);\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\nvar config_schema_pb = require('./config_schema_pb.js');\ngoog.object.extend(proto, config_schema_pb);\nvar timeseries_api_common_pb = require('./timeseries_api_common_pb.js');\ngoog.object.extend(proto, timeseries_api_common_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.ActivateLegacyPeersRequest', null, global);\ngoog.exportSymbol('proto.ramius.ActivateLegacyPeersResponse', null, global);\ngoog.exportSymbol('proto.ramius.ActiveAlarmsRequest', null, global);\ngoog.exportSymbol('proto.ramius.ActiveAlarmsResponse', null, global);\ngoog.exportSymbol('proto.ramius.AlarmConfigInfo', null, global);\ngoog.exportSymbol('proto.ramius.AlarmConfigInfoResponse', null, global);\ngoog.exportSymbol('proto.ramius.AlarmList', null, global);\ngoog.exportSymbol('proto.ramius.AlarmPolicy', null, global);\ngoog.exportSymbol('proto.ramius.Asn', null, global);\ngoog.exportSymbol('proto.ramius.BgpCiscoInfo', null, global);\ngoog.exportSymbol('proto.ramius.BgpPeerInfo', null, global);\ngoog.exportSymbol('proto.ramius.Configuration', null, global);\ngoog.exportSymbol('proto.ramius.ConfirmBgpMonAccountRequest', null, global);\ngoog.exportSymbol('proto.ramius.ConfirmBgpMonAccountResponse', null, global);\ngoog.exportSymbol('proto.ramius.ConfirmEndpointRequest', null, global);\ngoog.exportSymbol('proto.ramius.ConfirmEndpointResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeleteAlarmPolicyResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeleteAsnResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeleteBgpPeerConfigResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeleteNotificationEndpointResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeletePrefixResponse', null, global);\ngoog.exportSymbol('proto.ramius.DeleteReportResponse', null, global);\ngoog.exportSymbol('proto.ramius.DiffConfigurationRequest', null, global);\ngoog.exportSymbol('proto.ramius.EmailEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.Endpoint', null, global);\ngoog.exportSymbol('proto.ramius.Endpoint.EndpointTypeCase', null, global);\ngoog.exportSymbol('proto.ramius.EndpointStatus', null, global);\ngoog.exportSymbol('proto.ramius.EndpointStatus.Status', null, global);\ngoog.exportSymbol('proto.ramius.EndpointTypeData', null, global);\ngoog.exportSymbol('proto.ramius.ExportConfig', null, global);\ngoog.exportSymbol('proto.ramius.ExportConfigurationJsonRequest', null, global);\ngoog.exportSymbol('proto.ramius.ExportConfigurationJsonResponse', null, global);\ngoog.exportSymbol('proto.ramius.ExportConfigurationRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAlarmConfigInfoRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAlarmPoliciesRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAlarmPoliciesResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetAlarmPolicyRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAlarmPolicyResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetAsnRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAsnResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetAsnsRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetAsnsResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetBgpCiscoPeerConfigRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetBgpCiscoPeerConfigResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetBgpPeerConfigRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetBgpPeerConfigResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetKnownPrefixesResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetKnownRootDnsPrefixesRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationEndpointRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationEndpointResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationEndpointsRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationEndpointsResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationStatusRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetNotificationStatusResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetPrefixRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetPrefixResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetPrefixesRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetPrefixesResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetReportsRequest', null, global);\ngoog.exportSymbol('proto.ramius.GetReportsResponse', null, global);\ngoog.exportSymbol('proto.ramius.GetSubscribedPrefixRequest', null, global);\ngoog.exportSymbol('proto.ramius.GoogleStorageEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.Group', null, global);\ngoog.exportSymbol('proto.ramius.ImportConfigurationRequest', null, global);\ngoog.exportSymbol('proto.ramius.ImportConfigurationResponse', null, global);\ngoog.exportSymbol('proto.ramius.ImportPrefixesRequest', null, global);\ngoog.exportSymbol('proto.ramius.ImportPrefixesResponse', null, global);\ngoog.exportSymbol('proto.ramius.NotificationType', null, global);\ngoog.exportSymbol('proto.ramius.OperationRequest', null, global);\ngoog.exportSymbol('proto.ramius.OperationRequest.OperationRequestCase', null, global);\ngoog.exportSymbol('proto.ramius.OperationResponse', null, global);\ngoog.exportSymbol('proto.ramius.OperationResponse.OperationResponseCase', null, global);\ngoog.exportSymbol('proto.ramius.OperationsRequest', null, global);\ngoog.exportSymbol('proto.ramius.PagerDutyEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.ParseConfigurationJsonRequest', null, global);\ngoog.exportSymbol('proto.ramius.PeerActivationStatusRecord', null, global);\ngoog.exportSymbol('proto.ramius.PeerActivationStatusRequest', null, global);\ngoog.exportSymbol('proto.ramius.PeerActivationStatusResponse', null, global);\ngoog.exportSymbol('proto.ramius.PrefixPairDesc', null, global);\ngoog.exportSymbol('proto.ramius.PrefixWithError', null, global);\ngoog.exportSymbol('proto.ramius.PrefixWithoutAsn', null, global);\ngoog.exportSymbol('proto.ramius.PrefixesList', null, global);\ngoog.exportSymbol('proto.ramius.ProvisionRequest', null, global);\ngoog.exportSymbol('proto.ramius.ProvisionResponse', null, global);\ngoog.exportSymbol('proto.ramius.Report', null, global);\ngoog.exportSymbol('proto.ramius.ResendConfirmationRequest', null, global);\ngoog.exportSymbol('proto.ramius.ResendConfirmationResponse', null, global);\ngoog.exportSymbol('proto.ramius.S3Endpoint', null, global);\ngoog.exportSymbol('proto.ramius.SetAlarmPolicyResponse', null, global);\ngoog.exportSymbol('proto.ramius.SetAsnResponse', null, global);\ngoog.exportSymbol('proto.ramius.SetBgpPeerConfigResponse', null, global);\ngoog.exportSymbol('proto.ramius.SetNotificationEndpointResponse', null, global);\ngoog.exportSymbol('proto.ramius.SetPrefixResponse', null, global);\ngoog.exportSymbol('proto.ramius.SetReportResponse', null, global);\ngoog.exportSymbol('proto.ramius.SlackEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.SmsEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.StringKV', null, global);\ngoog.exportSymbol('proto.ramius.SubscribedPrefixResponse', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionState', null, global);\ngoog.exportSymbol('proto.ramius.TeamsEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.TestValidAsPathPatternReq', null, global);\ngoog.exportSymbol('proto.ramius.TestValidAsPathPatternResp', null, global);\ngoog.exportSymbol('proto.ramius.ValidatePrefixesRequest', null, global);\ngoog.exportSymbol('proto.ramius.ValidatePrefixesResponse', null, global);\ngoog.exportSymbol('proto.ramius.WebExEndpoint', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixWithoutAsn = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PrefixWithoutAsn.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PrefixWithoutAsn, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixWithoutAsn.displayName = 'proto.ramius.PrefixWithoutAsn';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetPrefixRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetPrefixRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetPrefixRequest.displayName = 'proto.ramius.GetPrefixRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetPrefixResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetPrefixResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetPrefixResponse.displayName = 'proto.ramius.GetPrefixResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetPrefixesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetPrefixesRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetPrefixesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetPrefixesRequest.displayName = 'proto.ramius.GetPrefixesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetPrefixesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetPrefixesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetPrefixesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetPrefixesResponse.displayName = 'proto.ramius.GetPrefixesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetSubscribedPrefixRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetSubscribedPrefixRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetSubscribedPrefixRequest.displayName = 'proto.ramius.GetSubscribedPrefixRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscribedPrefixResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SubscribedPrefixResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SubscribedPrefixResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscribedPrefixResponse.displayName = 'proto.ramius.SubscribedPrefixResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetKnownRootDnsPrefixesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetKnownRootDnsPrefixesRequest.displayName = 'proto.ramius.GetKnownRootDnsPrefixesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetKnownPrefixesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetKnownPrefixesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetKnownPrefixesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetKnownPrefixesResponse.displayName = 'proto.ramius.GetKnownPrefixesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixPairDesc = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PrefixPairDesc, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixPairDesc.displayName = 'proto.ramius.PrefixPairDesc';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Asn = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Asn.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Asn, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Asn.displayName = 'proto.ramius.Asn';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAsnRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetAsnRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAsnRequest.displayName = 'proto.ramius.GetAsnRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAsnResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetAsnResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAsnResponse.displayName = 'proto.ramius.GetAsnResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAsnsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetAsnsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetAsnsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAsnsRequest.displayName = 'proto.ramius.GetAsnsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAsnsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetAsnsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetAsnsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAsnsResponse.displayName = 'proto.ramius.GetAsnsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmPolicy = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmPolicy.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmPolicy, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmPolicy.displayName = 'proto.ramius.AlarmPolicy';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Group = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Group.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Group, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Group.displayName = 'proto.ramius.Group';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAlarmPoliciesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetAlarmPoliciesRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetAlarmPoliciesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAlarmPoliciesRequest.displayName = 'proto.ramius.GetAlarmPoliciesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAlarmPoliciesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetAlarmPoliciesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetAlarmPoliciesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAlarmPoliciesResponse.displayName = 'proto.ramius.GetAlarmPoliciesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmConfigInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AlarmConfigInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmConfigInfo.displayName = 'proto.ramius.AlarmConfigInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAlarmConfigInfoRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetAlarmConfigInfoRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetAlarmConfigInfoRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAlarmConfigInfoRequest.displayName = 'proto.ramius.GetAlarmConfigInfoRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmConfigInfoResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmConfigInfoResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmConfigInfoResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmConfigInfoResponse.displayName = 'proto.ramius.AlarmConfigInfoResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Endpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Endpoint.repeatedFields_, proto.ramius.Endpoint.oneofGroups_);\n};\ngoog.inherits(proto.ramius.Endpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Endpoint.displayName = 'proto.ramius.Endpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationEndpointRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetNotificationEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationEndpointRequest.displayName = 'proto.ramius.GetNotificationEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationEndpointResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetNotificationEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationEndpointResponse.displayName = 'proto.ramius.GetNotificationEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationEndpointsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetNotificationEndpointsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetNotificationEndpointsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationEndpointsRequest.displayName = 'proto.ramius.GetNotificationEndpointsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationEndpointsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetNotificationEndpointsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetNotificationEndpointsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationEndpointsResponse.displayName = 'proto.ramius.GetNotificationEndpointsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EmailEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EmailEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EmailEndpoint.displayName = 'proto.ramius.EmailEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SmsEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SmsEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SmsEndpoint.displayName = 'proto.ramius.SmsEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.S3Endpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.S3Endpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.S3Endpoint.displayName = 'proto.ramius.S3Endpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GoogleStorageEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GoogleStorageEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GoogleStorageEndpoint.displayName = 'proto.ramius.GoogleStorageEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SlackEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SlackEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SlackEndpoint.displayName = 'proto.ramius.SlackEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.WebExEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.WebExEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.WebExEndpoint.displayName = 'proto.ramius.WebExEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TeamsEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TeamsEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TeamsEndpoint.displayName = 'proto.ramius.TeamsEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PagerDutyEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PagerDutyEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PagerDutyEndpoint.displayName = 'proto.ramius.PagerDutyEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Report = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Report.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Report, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Report.displayName = 'proto.ramius.Report';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetReportsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetReportsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetReportsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetReportsRequest.displayName = 'proto.ramius.GetReportsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EndpointTypeData = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EndpointTypeData, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EndpointTypeData.displayName = 'proto.ramius.EndpointTypeData';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetReportsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetReportsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetReportsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetReportsResponse.displayName = 'proto.ramius.GetReportsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpPeerInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.BgpPeerInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.BgpPeerInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpPeerInfo.displayName = 'proto.ramius.BgpPeerInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpCiscoInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.BgpCiscoInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.BgpCiscoInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpCiscoInfo.displayName = 'proto.ramius.BgpCiscoInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetBgpCiscoPeerConfigRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetBgpCiscoPeerConfigRequest.displayName = 'proto.ramius.GetBgpCiscoPeerConfigRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetBgpCiscoPeerConfigResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetBgpCiscoPeerConfigResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetBgpCiscoPeerConfigResponse.displayName = 'proto.ramius.GetBgpCiscoPeerConfigResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetBgpPeerConfigRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetBgpPeerConfigRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetBgpPeerConfigRequest.displayName = 'proto.ramius.GetBgpPeerConfigRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetBgpPeerConfigResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetBgpPeerConfigResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetBgpPeerConfigResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetBgpPeerConfigResponse.displayName = 'proto.ramius.GetBgpPeerConfigResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OperationRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.OperationRequest.oneofGroups_);\n};\ngoog.inherits(proto.ramius.OperationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OperationRequest.displayName = 'proto.ramius.OperationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OperationsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OperationsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OperationsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OperationsRequest.displayName = 'proto.ramius.OperationsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ProvisionRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ProvisionRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ProvisionRequest.displayName = 'proto.ramius.ProvisionRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OperationResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.OperationResponse.oneofGroups_);\n};\ngoog.inherits(proto.ramius.OperationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OperationResponse.displayName = 'proto.ramius.OperationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetPrefixResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetPrefixResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetPrefixResponse.displayName = 'proto.ramius.SetPrefixResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeletePrefixResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeletePrefixResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeletePrefixResponse.displayName = 'proto.ramius.DeletePrefixResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetAlarmPolicyResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetAlarmPolicyResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetAlarmPolicyResponse.displayName = 'proto.ramius.SetAlarmPolicyResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteAlarmPolicyResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteAlarmPolicyResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteAlarmPolicyResponse.displayName = 'proto.ramius.DeleteAlarmPolicyResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetNotificationEndpointResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetNotificationEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetNotificationEndpointResponse.displayName = 'proto.ramius.SetNotificationEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteNotificationEndpointResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteNotificationEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteNotificationEndpointResponse.displayName = 'proto.ramius.DeleteNotificationEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetAsnResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetAsnResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetAsnResponse.displayName = 'proto.ramius.SetAsnResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteAsnResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteAsnResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteAsnResponse.displayName = 'proto.ramius.DeleteAsnResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetReportResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetReportResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetReportResponse.displayName = 'proto.ramius.SetReportResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteReportResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteReportResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteReportResponse.displayName = 'proto.ramius.DeleteReportResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetBgpPeerConfigResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetBgpPeerConfigResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetBgpPeerConfigResponse.displayName = 'proto.ramius.SetBgpPeerConfigResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteBgpPeerConfigResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteBgpPeerConfigResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteBgpPeerConfigResponse.displayName = 'proto.ramius.DeleteBgpPeerConfigResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ProvisionResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ProvisionResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ProvisionResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ProvisionResponse.displayName = 'proto.ramius.ProvisionResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmList.displayName = 'proto.ramius.AlarmList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ExportConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ExportConfig.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ExportConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ExportConfig.displayName = 'proto.ramius.ExportConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Configuration = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Configuration.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Configuration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Configuration.displayName = 'proto.ramius.Configuration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ImportPrefixesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ImportPrefixesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ImportPrefixesRequest.displayName = 'proto.ramius.ImportPrefixesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ImportPrefixesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ImportPrefixesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ImportPrefixesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ImportPrefixesResponse.displayName = 'proto.ramius.ImportPrefixesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ExportConfigurationRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ExportConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ExportConfigurationRequest.displayName = 'proto.ramius.ExportConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ExportConfigurationJsonRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ExportConfigurationJsonRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ExportConfigurationJsonRequest.displayName = 'proto.ramius.ExportConfigurationJsonRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ExportConfigurationJsonResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ExportConfigurationJsonResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ExportConfigurationJsonResponse.displayName = 'proto.ramius.ExportConfigurationJsonResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ImportConfigurationRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ImportConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ImportConfigurationRequest.displayName = 'proto.ramius.ImportConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ImportConfigurationResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ImportConfigurationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ImportConfigurationResponse.displayName = 'proto.ramius.ImportConfigurationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ParseConfigurationJsonRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ParseConfigurationJsonRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ParseConfigurationJsonRequest.displayName = 'proto.ramius.ParseConfigurationJsonRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DiffConfigurationRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DiffConfigurationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DiffConfigurationRequest.displayName = 'proto.ramius.DiffConfigurationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfirmEndpointRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfirmEndpointRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfirmEndpointRequest.displayName = 'proto.ramius.ConfirmEndpointRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfirmEndpointResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfirmEndpointResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfirmEndpointResponse.displayName = 'proto.ramius.ConfirmEndpointResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ResendConfirmationRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ResendConfirmationRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ResendConfirmationRequest.displayName = 'proto.ramius.ResendConfirmationRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ResendConfirmationResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ResendConfirmationResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ResendConfirmationResponse.displayName = 'proto.ramius.ResendConfirmationResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAlarmPolicyRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetAlarmPolicyRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAlarmPolicyRequest.displayName = 'proto.ramius.GetAlarmPolicyRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetAlarmPolicyResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetAlarmPolicyResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetAlarmPolicyResponse.displayName = 'proto.ramius.GetAlarmPolicyResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ActiveAlarmsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ActiveAlarmsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ActiveAlarmsRequest.displayName = 'proto.ramius.ActiveAlarmsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ActiveAlarmsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ActiveAlarmsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ActiveAlarmsResponse.displayName = 'proto.ramius.ActiveAlarmsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EndpointStatus = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EndpointStatus, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EndpointStatus.displayName = 'proto.ramius.EndpointStatus';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationStatusRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GetNotificationStatusRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GetNotificationStatusRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationStatusRequest.displayName = 'proto.ramius.GetNotificationStatusRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GetNotificationStatusResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GetNotificationStatusResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GetNotificationStatusResponse.displayName = 'proto.ramius.GetNotificationStatusResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixesList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PrefixesList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PrefixesList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixesList.displayName = 'proto.ramius.PrefixesList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ValidatePrefixesRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ValidatePrefixesRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ValidatePrefixesRequest.displayName = 'proto.ramius.ValidatePrefixesRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixWithError = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PrefixWithError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixWithError.displayName = 'proto.ramius.PrefixWithError';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ValidatePrefixesResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ValidatePrefixesResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ValidatePrefixesResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ValidatePrefixesResponse.displayName = 'proto.ramius.ValidatePrefixesResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.StringKV = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.StringKV, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.StringKV.displayName = 'proto.ramius.StringKV';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TestValidAsPathPatternReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TestValidAsPathPatternReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TestValidAsPathPatternReq.displayName = 'proto.ramius.TestValidAsPathPatternReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TestValidAsPathPatternResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.TestValidAsPathPatternResp.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.TestValidAsPathPatternResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TestValidAsPathPatternResp.displayName = 'proto.ramius.TestValidAsPathPatternResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfirmBgpMonAccountRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfirmBgpMonAccountRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfirmBgpMonAccountRequest.displayName = 'proto.ramius.ConfirmBgpMonAccountRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfirmBgpMonAccountResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfirmBgpMonAccountResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfirmBgpMonAccountResponse.displayName = 'proto.ramius.ConfirmBgpMonAccountResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ActivateLegacyPeersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ActivateLegacyPeersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ActivateLegacyPeersRequest.displayName = 'proto.ramius.ActivateLegacyPeersRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ActivateLegacyPeersResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ActivateLegacyPeersResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ActivateLegacyPeersResponse.displayName = 'proto.ramius.ActivateLegacyPeersResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerActivationStatusRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerActivationStatusRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerActivationStatusRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerActivationStatusRequest.displayName = 'proto.ramius.PeerActivationStatusRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerActivationStatusRecord = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerActivationStatusRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerActivationStatusRecord.displayName = 'proto.ramius.PeerActivationStatusRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerActivationStatusResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerActivationStatusResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerActivationStatusResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerActivationStatusResponse.displayName = 'proto.ramius.PeerActivationStatusResponse';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PrefixWithoutAsn.repeatedFields_ = [3,33];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixWithoutAsn.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixWithoutAsn.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixWithoutAsn} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixWithoutAsn.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n lastModifiedTs: jspb.Message.getFieldWithDefault(msg, 2, 0),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n subscriptionState: jspb.Message.getFieldWithDefault(msg, 5, 0),\n policyId: jspb.Message.getFieldWithDefault(msg, 30, \"\"),\n isSuspended: jspb.Message.getBooleanFieldWithDefault(msg, 31, false),\n suspendedUntil: (f = msg.getSuspendedUntil()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n suspendedRulesList: (f = jspb.Message.getRepeatedField(msg, 33)) == null ? undefined : f,\n skipTierRules: jspb.Message.getBooleanFieldWithDefault(msg, 34, false),\n bgpPeerId: jspb.Message.getFieldWithDefault(msg, 35, \"\"),\n domain: jspb.Message.getFieldWithDefault(msg, 36, \"\"),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.PrefixWithoutAsn.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixWithoutAsn;\n return proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixWithoutAsn} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLastModifiedTs(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.SubscriptionState} */ (reader.readEnum());\n msg.setSubscriptionState(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 31:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsSuspended(value);\n break;\n case 32:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setSuspendedUntil(value);\n break;\n case 33:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addSuspendedRules(values[i]);\n }\n break;\n case 34:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSkipTierRules(value);\n break;\n case 35:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpPeerId(value);\n break;\n case 36:\n var value = /** @type {string} */ (reader.readString());\n msg.setDomain(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixWithoutAsn.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixWithoutAsn} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixWithoutAsn.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getLastModifiedTs();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getSubscriptionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n f = message.getIsSuspended();\n if (f) {\n writer.writeBool(\n 31,\n f\n );\n }\n f = message.getSuspendedUntil();\n if (f != null) {\n writer.writeMessage(\n 32,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSuspendedRulesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 33,\n f\n );\n }\n f = message.getSkipTierRules();\n if (f) {\n writer.writeBool(\n 34,\n f\n );\n }\n f = message.getBgpPeerId();\n if (f.length > 0) {\n writer.writeString(\n 35,\n f\n );\n }\n f = message.getDomain();\n if (f.length > 0) {\n writer.writeString(\n 36,\n f\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 last_modified_ts = 2;\n * @return {number}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getLastModifiedTs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setLastModifiedTs = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 3;\n * @return {!Array}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional SubscriptionState subscription_state = 5;\n * @return {!proto.ramius.SubscriptionState}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getSubscriptionState = function() {\n return /** @type {!proto.ramius.SubscriptionState} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionState} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setSubscriptionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional string policy_id = 30;\n * @return {string}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n/**\n * optional bool is_suspended = 31;\n * @return {boolean}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getIsSuspended = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 31, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setIsSuspended = function(value) {\n return jspb.Message.setProto3BooleanField(this, 31, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp suspended_until = 32;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getSuspendedUntil = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 32));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n*/\nproto.ramius.PrefixWithoutAsn.prototype.setSuspendedUntil = function(value) {\n return jspb.Message.setWrapperField(this, 32, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.clearSuspendedUntil = function() {\n return this.setSuspendedUntil(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PrefixWithoutAsn.prototype.hasSuspendedUntil = function() {\n return jspb.Message.getField(this, 32) != null;\n};\n\n\n/**\n * repeated AlarmType suspended_rules = 33;\n * @return {!Array}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getSuspendedRulesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 33));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setSuspendedRulesList = function(value) {\n return jspb.Message.setField(this, 33, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.addSuspendedRules = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 33, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.clearSuspendedRulesList = function() {\n return this.setSuspendedRulesList([]);\n};\n\n\n/**\n * optional bool skip_tier_rules = 34;\n * @return {boolean}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getSkipTierRules = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 34, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setSkipTierRules = function(value) {\n return jspb.Message.setProto3BooleanField(this, 34, value);\n};\n\n\n/**\n * optional string bgp_peer_id = 35;\n * @return {string}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getBgpPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 35, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setBgpPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 35, value);\n};\n\n\n/**\n * optional string domain = 36;\n * @return {string}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getDomain = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 36, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setDomain = function(value) {\n return jspb.Message.setProto3StringField(this, 36, value);\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.PrefixWithoutAsn.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.PrefixWithoutAsn} returns this\n */\nproto.ramius.PrefixWithoutAsn.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetPrefixRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetPrefixRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetPrefixRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n subnet: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetPrefixRequest}\n */\nproto.ramius.GetPrefixRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetPrefixRequest;\n return proto.ramius.GetPrefixRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetPrefixRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetPrefixRequest}\n */\nproto.ramius.GetPrefixRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSubnet(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetPrefixRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetPrefixRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetPrefixRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getSubnet();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.GetPrefixRequest.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetPrefixRequest} returns this\n */\nproto.ramius.GetPrefixRequest.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 subnet = 2;\n * @return {number}\n */\nproto.ramius.GetPrefixRequest.prototype.getSubnet = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetPrefixRequest} returns this\n */\nproto.ramius.GetPrefixRequest.prototype.setSubnet = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetPrefixResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetPrefixResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetPrefixResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: (f = msg.getPrefix()) && proto.ramius.PrefixWithoutAsn.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetPrefixResponse}\n */\nproto.ramius.GetPrefixResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetPrefixResponse;\n return proto.ramius.GetPrefixResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetPrefixResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetPrefixResponse}\n */\nproto.ramius.GetPrefixResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.setPrefix(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetPrefixResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetPrefixResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetPrefixResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional PrefixWithoutAsn prefix = 1;\n * @return {?proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.GetPrefixResponse.prototype.getPrefix = function() {\n return /** @type{?proto.ramius.PrefixWithoutAsn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixWithoutAsn, 1));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixWithoutAsn|undefined} value\n * @return {!proto.ramius.GetPrefixResponse} returns this\n*/\nproto.ramius.GetPrefixResponse.prototype.setPrefix = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetPrefixResponse} returns this\n */\nproto.ramius.GetPrefixResponse.prototype.clearPrefix = function() {\n return this.setPrefix(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetPrefixResponse.prototype.hasPrefix = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetPrefixesRequest.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetPrefixesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetPrefixesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetPrefixesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n subscriptionState: jspb.Message.getFieldWithDefault(msg, 3, 0),\n limit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n sortName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 13, 0),\n needTotalCount: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetPrefixesRequest}\n */\nproto.ramius.GetPrefixesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetPrefixesRequest;\n return proto.ramius.GetPrefixesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetPrefixesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetPrefixesRequest}\n */\nproto.ramius.GetPrefixesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addPrefixes(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.SubscriptionState} */ (reader.readEnum());\n msg.setSubscriptionState(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedTotalCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetPrefixesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetPrefixesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetPrefixesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getSubscriptionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getNeedTotalCount();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * repeated string prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.GetPrefixesRequest.prototype.getPrefixesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setPrefixesList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.addPrefixes = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array}\n */\nproto.ramius.GetPrefixesRequest.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional SubscriptionState subscription_state = 3;\n * @return {!proto.ramius.SubscriptionState}\n */\nproto.ramius.GetPrefixesRequest.prototype.getSubscriptionState = function() {\n return /** @type {!proto.ramius.SubscriptionState} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionState} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setSubscriptionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional uint32 limit = 10;\n * @return {number}\n */\nproto.ramius.GetPrefixesRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetPrefixesRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string sort_name = 12;\n * @return {string}\n */\nproto.ramius.GetPrefixesRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 13;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetPrefixesRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool need_total_count = 14;\n * @return {boolean}\n */\nproto.ramius.GetPrefixesRequest.prototype.getNeedTotalCount = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetPrefixesRequest} returns this\n */\nproto.ramius.GetPrefixesRequest.prototype.setNeedTotalCount = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetPrefixesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetPrefixesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetPrefixesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetPrefixesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixWithoutAsn.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 12, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetPrefixesResponse}\n */\nproto.ramius.GetPrefixesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetPrefixesResponse;\n return proto.ramius.GetPrefixesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetPrefixesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetPrefixesResponse}\n */\nproto.ramius.GetPrefixesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetPrefixesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetPrefixesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetPrefixesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetPrefixesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 12,\n f\n );\n }\n};\n\n\n/**\n * repeated PrefixWithoutAsn prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.GetPrefixesResponse.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixWithoutAsn, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetPrefixesResponse} returns this\n*/\nproto.ramius.GetPrefixesResponse.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixWithoutAsn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.GetPrefixesResponse.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PrefixWithoutAsn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetPrefixesResponse} returns this\n */\nproto.ramius.GetPrefixesResponse.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n/**\n * optional uint32 total_count = 10;\n * @return {number}\n */\nproto.ramius.GetPrefixesResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetPrefixesResponse} returns this\n */\nproto.ramius.GetPrefixesResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetPrefixesResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetPrefixesResponse} returns this\n */\nproto.ramius.GetPrefixesResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional bool end_of_data = 12;\n * @return {boolean}\n */\nproto.ramius.GetPrefixesResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 12, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetPrefixesResponse} returns this\n */\nproto.ramius.GetPrefixesResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetSubscribedPrefixRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetSubscribedPrefixRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetSubscribedPrefixRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n limit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n sortName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 13, 0),\n needTotalCount: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetSubscribedPrefixRequest}\n */\nproto.ramius.GetSubscribedPrefixRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetSubscribedPrefixRequest;\n return proto.ramius.GetSubscribedPrefixRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetSubscribedPrefixRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetSubscribedPrefixRequest}\n */\nproto.ramius.GetSubscribedPrefixRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedTotalCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetSubscribedPrefixRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetSubscribedPrefixRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetSubscribedPrefixRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getNeedTotalCount();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 limit = 10;\n * @return {number}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetSubscribedPrefixRequest} returns this\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetSubscribedPrefixRequest} returns this\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string sort_name = 12;\n * @return {string}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetSubscribedPrefixRequest} returns this\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 13;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetSubscribedPrefixRequest} returns this\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool need_total_count = 14;\n * @return {boolean}\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.getNeedTotalCount = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetSubscribedPrefixRequest} returns this\n */\nproto.ramius.GetSubscribedPrefixRequest.prototype.setNeedTotalCount = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SubscribedPrefixResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscribedPrefixResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscribedPrefixResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscribedPrefixResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixWithoutAsn.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 12, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscribedPrefixResponse}\n */\nproto.ramius.SubscribedPrefixResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscribedPrefixResponse;\n return proto.ramius.SubscribedPrefixResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscribedPrefixResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscribedPrefixResponse}\n */\nproto.ramius.SubscribedPrefixResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscribedPrefixResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscribedPrefixResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscribedPrefixResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 12,\n f\n );\n }\n};\n\n\n/**\n * repeated PrefixWithoutAsn prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixWithoutAsn, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SubscribedPrefixResponse} returns this\n*/\nproto.ramius.SubscribedPrefixResponse.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixWithoutAsn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PrefixWithoutAsn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SubscribedPrefixResponse} returns this\n */\nproto.ramius.SubscribedPrefixResponse.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n/**\n * optional uint32 total_count = 10;\n * @return {number}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscribedPrefixResponse} returns this\n */\nproto.ramius.SubscribedPrefixResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SubscribedPrefixResponse} returns this\n */\nproto.ramius.SubscribedPrefixResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional bool end_of_data = 12;\n * @return {boolean}\n */\nproto.ramius.SubscribedPrefixResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 12, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SubscribedPrefixResponse} returns this\n */\nproto.ramius.SubscribedPrefixResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetKnownRootDnsPrefixesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetKnownRootDnsPrefixesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetKnownRootDnsPrefixesRequest}\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetKnownRootDnsPrefixesRequest;\n return proto.ramius.GetKnownRootDnsPrefixesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetKnownRootDnsPrefixesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetKnownRootDnsPrefixesRequest}\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetKnownRootDnsPrefixesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetKnownRootDnsPrefixesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetKnownRootDnsPrefixesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetKnownPrefixesResponse.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetKnownPrefixesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetKnownPrefixesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetKnownPrefixesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n groupName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixPairDesc.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetKnownPrefixesResponse}\n */\nproto.ramius.GetKnownPrefixesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetKnownPrefixesResponse;\n return proto.ramius.GetKnownPrefixesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetKnownPrefixesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetKnownPrefixesResponse}\n */\nproto.ramius.GetKnownPrefixesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setGroupName(value);\n break;\n case 2:\n var value = new proto.ramius.PrefixPairDesc;\n reader.readMessage(value,proto.ramius.PrefixPairDesc.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetKnownPrefixesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetKnownPrefixesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetKnownPrefixesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGroupName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.ramius.PrefixPairDesc.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string group_name = 1;\n * @return {string}\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.getGroupName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetKnownPrefixesResponse} returns this\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.setGroupName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * repeated PrefixPairDesc prefixes = 2;\n * @return {!Array}\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixPairDesc, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetKnownPrefixesResponse} returns this\n*/\nproto.ramius.GetKnownPrefixesResponse.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixPairDesc=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixPairDesc}\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.ramius.PrefixPairDesc, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetKnownPrefixesResponse} returns this\n */\nproto.ramius.GetKnownPrefixesResponse.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixPairDesc.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixPairDesc.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixPairDesc} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixPairDesc.toObject = function(includeInstance, msg) {\n var f, obj = {\n ipv4: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n ipv6: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixPairDesc}\n */\nproto.ramius.PrefixPairDesc.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixPairDesc;\n return proto.ramius.PrefixPairDesc.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixPairDesc} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixPairDesc}\n */\nproto.ramius.PrefixPairDesc.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv4(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv6(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixPairDesc.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixPairDesc.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixPairDesc} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixPairDesc.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIpv4();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getIpv6();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string ipv4 = 1;\n * @return {string}\n */\nproto.ramius.PrefixPairDesc.prototype.getIpv4 = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixPairDesc} returns this\n */\nproto.ramius.PrefixPairDesc.prototype.setIpv4 = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string ipv6 = 2;\n * @return {string}\n */\nproto.ramius.PrefixPairDesc.prototype.getIpv6 = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixPairDesc} returns this\n */\nproto.ramius.PrefixPairDesc.prototype.setIpv6 = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.ramius.PrefixPairDesc.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixPairDesc} returns this\n */\nproto.ramius.PrefixPairDesc.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Asn.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Asn.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Asn.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Asn} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Asn.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: jspb.Message.getFieldWithDefault(msg, 1, 0),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n subscriptionState: jspb.Message.getFieldWithDefault(msg, 5, 0),\n policyId: jspb.Message.getFieldWithDefault(msg, 30, \"\"),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Asn}\n */\nproto.ramius.Asn.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Asn;\n return proto.ramius.Asn.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Asn} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Asn}\n */\nproto.ramius.Asn.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.SubscriptionState} */ (reader.readEnum());\n msg.setSubscriptionState(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Asn.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Asn.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Asn} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Asn.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getSubscriptionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 asn = 1;\n * @return {number}\n */\nproto.ramius.Asn.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array}\n */\nproto.ramius.Asn.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.ramius.Asn.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional SubscriptionState subscription_state = 5;\n * @return {!proto.ramius.SubscriptionState}\n */\nproto.ramius.Asn.prototype.getSubscriptionState = function() {\n return /** @type {!proto.ramius.SubscriptionState} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionState} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setSubscriptionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional string policy_id = 30;\n * @return {string}\n */\nproto.ramius.Asn.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.Asn.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.Asn} returns this\n */\nproto.ramius.Asn.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAsnRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAsnRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAsnRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAsnRequest}\n */\nproto.ramius.GetAsnRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAsnRequest;\n return proto.ramius.GetAsnRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAsnRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAsnRequest}\n */\nproto.ramius.GetAsnRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAsnRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAsnRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAsnRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 asn = 1;\n * @return {number}\n */\nproto.ramius.GetAsnRequest.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetAsnRequest} returns this\n */\nproto.ramius.GetAsnRequest.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAsnResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAsnResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAsnResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: (f = msg.getAsn()) && proto.ramius.Asn.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAsnResponse}\n */\nproto.ramius.GetAsnResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAsnResponse;\n return proto.ramius.GetAsnResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAsnResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAsnResponse}\n */\nproto.ramius.GetAsnResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.setAsn(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAsnResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAsnResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAsnResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Asn asn = 1;\n * @return {?proto.ramius.Asn}\n */\nproto.ramius.GetAsnResponse.prototype.getAsn = function() {\n return /** @type{?proto.ramius.Asn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Asn, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Asn|undefined} value\n * @return {!proto.ramius.GetAsnResponse} returns this\n*/\nproto.ramius.GetAsnResponse.prototype.setAsn = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetAsnResponse} returns this\n */\nproto.ramius.GetAsnResponse.prototype.clearAsn = function() {\n return this.setAsn(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetAsnResponse.prototype.hasAsn = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetAsnsRequest.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAsnsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAsnsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAsnsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n asnsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n subscriptionState: jspb.Message.getFieldWithDefault(msg, 3, 0),\n limit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n sortName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 13, 0),\n needTotalCount: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAsnsRequest}\n */\nproto.ramius.GetAsnsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAsnsRequest;\n return proto.ramius.GetAsnsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAsnsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAsnsRequest}\n */\nproto.ramius.GetAsnsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addAsns(values[i]);\n }\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.SubscriptionState} */ (reader.readEnum());\n msg.setSubscriptionState(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedTotalCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAsnsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAsnsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAsnsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getSubscriptionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getNeedTotalCount();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 asns = 1;\n * @return {!Array}\n */\nproto.ramius.GetAsnsRequest.prototype.getAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setAsnsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.addAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.clearAsnsList = function() {\n return this.setAsnsList([]);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array}\n */\nproto.ramius.GetAsnsRequest.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional SubscriptionState subscription_state = 3;\n * @return {!proto.ramius.SubscriptionState}\n */\nproto.ramius.GetAsnsRequest.prototype.getSubscriptionState = function() {\n return /** @type {!proto.ramius.SubscriptionState} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionState} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setSubscriptionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional uint32 limit = 10;\n * @return {number}\n */\nproto.ramius.GetAsnsRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetAsnsRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string sort_name = 12;\n * @return {string}\n */\nproto.ramius.GetAsnsRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 13;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetAsnsRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool need_total_count = 14;\n * @return {boolean}\n */\nproto.ramius.GetAsnsRequest.prototype.getNeedTotalCount = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetAsnsRequest} returns this\n */\nproto.ramius.GetAsnsRequest.prototype.setNeedTotalCount = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetAsnsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAsnsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAsnsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAsnsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n asnsList: jspb.Message.toObjectList(msg.getAsnsList(),\n proto.ramius.Asn.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 12, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAsnsResponse}\n */\nproto.ramius.GetAsnsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAsnsResponse;\n return proto.ramius.GetAsnsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAsnsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAsnsResponse}\n */\nproto.ramius.GetAsnsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.addAsns(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAsnsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAsnsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAsnsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAsnsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsnsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 12,\n f\n );\n }\n};\n\n\n/**\n * repeated Asn asns = 1;\n * @return {!Array}\n */\nproto.ramius.GetAsnsResponse.prototype.getAsnsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Asn, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAsnsResponse} returns this\n*/\nproto.ramius.GetAsnsResponse.prototype.setAsnsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.Asn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Asn}\n */\nproto.ramius.GetAsnsResponse.prototype.addAsns = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.Asn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAsnsResponse} returns this\n */\nproto.ramius.GetAsnsResponse.prototype.clearAsnsList = function() {\n return this.setAsnsList([]);\n};\n\n\n/**\n * optional uint32 total_count = 10;\n * @return {number}\n */\nproto.ramius.GetAsnsResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetAsnsResponse} returns this\n */\nproto.ramius.GetAsnsResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetAsnsResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAsnsResponse} returns this\n */\nproto.ramius.GetAsnsResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional bool end_of_data = 12;\n * @return {boolean}\n */\nproto.ramius.GetAsnsResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 12, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetAsnsResponse} returns this\n */\nproto.ramius.GetAsnsResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 12, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmPolicy.repeatedFields_ = [3,5,10,11,20];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmPolicy.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmPolicy.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmPolicy} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmPolicy.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n policyId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n rulesList: jspb.Message.toObjectList(msg.getRulesList(),\n config_schema_pb.AlarmCfg.toObject, includeInstance),\n policyType: jspb.Message.getFieldWithDefault(msg, 7, 0),\n description: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f,\n upstreamAsnsList: (f = jspb.Message.getRepeatedField(msg, 11)) == null ? undefined : f,\n asPathPattern: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n endpointsList: jspb.Message.toObjectList(msg.getEndpointsList(),\n config_schema_pb.AlarmRuleEndpoint.toObject, includeInstance),\n dampingSecs: jspb.Message.getFieldWithDefault(msg, 21, 0),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmPolicy}\n */\nproto.ramius.AlarmPolicy.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmPolicy;\n return proto.ramius.AlarmPolicy.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmPolicy} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmPolicy}\n */\nproto.ramius.AlarmPolicy.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 5:\n var value = new config_schema_pb.AlarmCfg;\n reader.readMessage(value,config_schema_pb.AlarmCfg.deserializeBinaryFromReader);\n msg.addRules(value);\n break;\n case 7:\n var value = /** @type {!proto.ramius.AlarmPolicyType} */ (reader.readEnum());\n msg.setPolicyType(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 10:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 11:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addUpstreamAsns(values[i]);\n }\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setAsPathPattern(value);\n break;\n case 20:\n var value = new config_schema_pb.AlarmRuleEndpoint;\n reader.readMessage(value,config_schema_pb.AlarmRuleEndpoint.deserializeBinaryFromReader);\n msg.addEndpoints(value);\n break;\n case 21:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDampingSecs(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmPolicy.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmPolicy.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmPolicy} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmPolicy.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n f = message.getRulesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 5,\n f,\n config_schema_pb.AlarmCfg.serializeBinaryToWriter\n );\n }\n f = message.getPolicyType();\n if (f !== 0.0) {\n writer.writeEnum(\n 7,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 10,\n f\n );\n }\n f = message.getUpstreamAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 11,\n f\n );\n }\n f = message.getAsPathPattern();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 20,\n f,\n config_schema_pb.AlarmRuleEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getDampingSecs();\n if (f !== 0) {\n writer.writeInt32(\n 21,\n f\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.AlarmPolicy.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string policy_id = 2;\n * @return {string}\n */\nproto.ramius.AlarmPolicy.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 3;\n * @return {!Array}\n */\nproto.ramius.AlarmPolicy.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * repeated AlarmCfg rules = 5;\n * @return {!Array}\n */\nproto.ramius.AlarmPolicy.prototype.getRulesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, config_schema_pb.AlarmCfg, 5));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n*/\nproto.ramius.AlarmPolicy.prototype.setRulesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmCfg=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmCfg}\n */\nproto.ramius.AlarmPolicy.prototype.addRules = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.ramius.AlarmCfg, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.clearRulesList = function() {\n return this.setRulesList([]);\n};\n\n\n/**\n * optional AlarmPolicyType policy_type = 7;\n * @return {!proto.ramius.AlarmPolicyType}\n */\nproto.ramius.AlarmPolicy.prototype.getPolicyType = function() {\n return /** @type {!proto.ramius.AlarmPolicyType} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setPolicyType = function(value) {\n return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * optional string description = 8;\n * @return {string}\n */\nproto.ramius.AlarmPolicy.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * repeated uint32 origin_asns = 10;\n * @return {!Array}\n */\nproto.ramius.AlarmPolicy.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 10));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 10, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 10, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * repeated uint32 upstream_asns = 11;\n * @return {!Array}\n */\nproto.ramius.AlarmPolicy.prototype.getUpstreamAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 11));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setUpstreamAsnsList = function(value) {\n return jspb.Message.setField(this, 11, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.addUpstreamAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 11, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.clearUpstreamAsnsList = function() {\n return this.setUpstreamAsnsList([]);\n};\n\n\n/**\n * optional string as_path_pattern = 12;\n * @return {string}\n */\nproto.ramius.AlarmPolicy.prototype.getAsPathPattern = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setAsPathPattern = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * repeated AlarmRuleEndpoint endpoints = 20;\n * @return {!Array}\n */\nproto.ramius.AlarmPolicy.prototype.getEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, config_schema_pb.AlarmRuleEndpoint, 20));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n*/\nproto.ramius.AlarmPolicy.prototype.setEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 20, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleEndpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmRuleEndpoint}\n */\nproto.ramius.AlarmPolicy.prototype.addEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 20, opt_value, proto.ramius.AlarmRuleEndpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.clearEndpointsList = function() {\n return this.setEndpointsList([]);\n};\n\n\n/**\n * optional int32 damping_secs = 21;\n * @return {number}\n */\nproto.ramius.AlarmPolicy.prototype.getDampingSecs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setDampingSecs = function(value) {\n return jspb.Message.setProto3IntField(this, 21, value);\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.AlarmPolicy.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.AlarmPolicy} returns this\n */\nproto.ramius.AlarmPolicy.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Group.repeatedFields_ = [3,10,11];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Group.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Group.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Group} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Group.toObject = function(includeInstance, msg) {\n var f, obj = {\n groupName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n guuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n alarmsMap: (f = msg.getAlarmsMap()) ? f.toObject(includeInstance, proto.ramius.AlarmCfg.toObject) : [],\n policyType: jspb.Message.getFieldWithDefault(msg, 7, 0),\n description: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f,\n upstreamAsnsList: (f = jspb.Message.getRepeatedField(msg, 11)) == null ? undefined : f,\n asPathPattern: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Group}\n */\nproto.ramius.Group.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Group;\n return proto.ramius.Group.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Group} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Group}\n */\nproto.ramius.Group.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setGroupName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setGuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 5:\n var value = msg.getAlarmsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readMessage, proto.ramius.AlarmCfg.deserializeBinaryFromReader, 0, new proto.ramius.AlarmCfg());\n });\n break;\n case 7:\n var value = /** @type {!proto.ramius.AlarmPolicyType} */ (reader.readEnum());\n msg.setPolicyType(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 10:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 11:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addUpstreamAsns(values[i]);\n }\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setAsPathPattern(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Group.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Group.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Group} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Group.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGroupName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getGuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n f = message.getAlarmsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.AlarmCfg.serializeBinaryToWriter);\n }\n f = message.getPolicyType();\n if (f !== 0.0) {\n writer.writeEnum(\n 7,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 10,\n f\n );\n }\n f = message.getUpstreamAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 11,\n f\n );\n }\n f = message.getAsPathPattern();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n};\n\n\n/**\n * optional string group_name = 1;\n * @return {string}\n */\nproto.ramius.Group.prototype.getGroupName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setGroupName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string guuid = 2;\n * @return {string}\n */\nproto.ramius.Group.prototype.getGuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setGuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 3;\n * @return {!Array}\n */\nproto.ramius.Group.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * map alarms = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.Group.prototype.getAlarmsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n proto.ramius.AlarmCfg));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.clearAlarmsMap = function() {\n this.getAlarmsMap().clear();\n return this;};\n\n\n/**\n * optional AlarmPolicyType policy_type = 7;\n * @return {!proto.ramius.AlarmPolicyType}\n */\nproto.ramius.Group.prototype.getPolicyType = function() {\n return /** @type {!proto.ramius.AlarmPolicyType} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setPolicyType = function(value) {\n return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * optional string description = 8;\n * @return {string}\n */\nproto.ramius.Group.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * repeated uint32 origin_asns = 10;\n * @return {!Array}\n */\nproto.ramius.Group.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 10));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 10, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 10, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * repeated uint32 upstream_asns = 11;\n * @return {!Array}\n */\nproto.ramius.Group.prototype.getUpstreamAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 11));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setUpstreamAsnsList = function(value) {\n return jspb.Message.setField(this, 11, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.addUpstreamAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 11, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.clearUpstreamAsnsList = function() {\n return this.setUpstreamAsnsList([]);\n};\n\n\n/**\n * optional string as_path_pattern = 12;\n * @return {string}\n */\nproto.ramius.Group.prototype.getAsPathPattern = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Group} returns this\n */\nproto.ramius.Group.prototype.setAsPathPattern = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetAlarmPoliciesRequest.repeatedFields_ = [1,2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAlarmPoliciesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAlarmPoliciesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPoliciesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n policyTypesList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n policyIdsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n namesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n limit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n sortName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 13, 0),\n needTotalCount: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAlarmPoliciesRequest}\n */\nproto.ramius.GetAlarmPoliciesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAlarmPoliciesRequest;\n return proto.ramius.GetAlarmPoliciesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAlarmPoliciesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAlarmPoliciesRequest}\n */\nproto.ramius.GetAlarmPoliciesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addPolicyTypes(values[i]);\n }\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addPolicyIds(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addNames(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedTotalCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAlarmPoliciesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAlarmPoliciesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPoliciesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPolicyTypesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 1,\n f\n );\n }\n f = message.getPolicyIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getNamesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getNeedTotalCount();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * repeated AlarmPolicyType policy_types = 1;\n * @return {!Array}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getPolicyTypesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setPolicyTypesList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.addPolicyTypes = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.clearPolicyTypesList = function() {\n return this.setPolicyTypesList([]);\n};\n\n\n/**\n * repeated string policy_ids = 2;\n * @return {!Array}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getPolicyIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setPolicyIdsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.addPolicyIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.clearPolicyIdsList = function() {\n return this.setPolicyIdsList([]);\n};\n\n\n/**\n * repeated string names = 3;\n * @return {!Array}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getNamesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setNamesList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.addNames = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.clearNamesList = function() {\n return this.setNamesList([]);\n};\n\n\n/**\n * optional uint32 limit = 10;\n * @return {number}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string sort_name = 12;\n * @return {string}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 13;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool need_total_count = 14;\n * @return {boolean}\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.getNeedTotalCount = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetAlarmPoliciesRequest} returns this\n */\nproto.ramius.GetAlarmPoliciesRequest.prototype.setNeedTotalCount = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetAlarmPoliciesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAlarmPoliciesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAlarmPoliciesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPoliciesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n policiesList: jspb.Message.toObjectList(msg.getPoliciesList(),\n proto.ramius.AlarmPolicy.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAlarmPoliciesResponse}\n */\nproto.ramius.GetAlarmPoliciesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAlarmPoliciesResponse;\n return proto.ramius.GetAlarmPoliciesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAlarmPoliciesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAlarmPoliciesResponse}\n */\nproto.ramius.GetAlarmPoliciesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AlarmPolicy;\n reader.readMessage(value,proto.ramius.AlarmPolicy.deserializeBinaryFromReader);\n msg.addPolicies(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAlarmPoliciesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAlarmPoliciesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPoliciesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPoliciesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.AlarmPolicy.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n};\n\n\n/**\n * repeated AlarmPolicy policies = 1;\n * @return {!Array}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.getPoliciesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AlarmPolicy, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAlarmPoliciesResponse} returns this\n*/\nproto.ramius.GetAlarmPoliciesResponse.prototype.setPoliciesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicy=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmPolicy}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.addPolicies = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.AlarmPolicy, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAlarmPoliciesResponse} returns this\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.clearPoliciesList = function() {\n return this.setPoliciesList([]);\n};\n\n\n/**\n * optional uint32 total_count = 3;\n * @return {number}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetAlarmPoliciesResponse} returns this\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string opaque_token = 4;\n * @return {string}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAlarmPoliciesResponse} returns this\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool end_of_data = 5;\n * @return {boolean}\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetAlarmPoliciesResponse} returns this\n */\nproto.ramius.GetAlarmPoliciesResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmConfigInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmConfigInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmConfigInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmConfigInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n userId: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n notes: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n pausedUntil: (f = msg.getPausedUntil()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n policyId: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n rule: jspb.Message.getFieldWithDefault(msg, 11, 0),\n prefix: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n peerId: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n asn: jspb.Message.getFieldWithDefault(msg, 14, 0),\n deviceId: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n gatewayId: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n pb_interface: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n policyType: jspb.Message.getFieldWithDefault(msg, 18, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmConfigInfo}\n */\nproto.ramius.AlarmConfigInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmConfigInfo;\n return proto.ramius.AlarmConfigInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmConfigInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmConfigInfo}\n */\nproto.ramius.AlarmConfigInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setAlarmId(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCreatedAt(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setUserId(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setNotes(value);\n break;\n case 19:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setPausedUntil(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 11:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setRule(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerId(value);\n break;\n case 14:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 16:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayId(value);\n break;\n case 17:\n var value = /** @type {string} */ (reader.readString());\n msg.setInterface(value);\n break;\n case 18:\n var value = /** @type {!proto.ramius.AlarmPolicyType} */ (reader.readEnum());\n msg.setPolicyType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmConfigInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmConfigInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmConfigInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmConfigInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getCreatedAt();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getUserId();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getNotes();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getPausedUntil();\n if (f != null) {\n writer.writeMessage(\n 19,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getRule();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getPeerId();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 14,\n f\n );\n }\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getGatewayId();\n if (f.length > 0) {\n writer.writeString(\n 16,\n f\n );\n }\n f = message.getInterface();\n if (f.length > 0) {\n writer.writeString(\n 17,\n f\n );\n }\n f = message.getPolicyType();\n if (f !== 0.0) {\n writer.writeEnum(\n 18,\n f\n );\n }\n};\n\n\n/**\n * optional string alarm_id = 1;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getAlarmId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setAlarmId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp created_at = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.AlarmConfigInfo.prototype.getCreatedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n*/\nproto.ramius.AlarmConfigInfo.prototype.setCreatedAt = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.clearCreatedAt = function() {\n return this.setCreatedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmConfigInfo.prototype.hasCreatedAt = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string user_id = 3;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getUserId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setUserId = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string notes = 6;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getNotes = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setNotes = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp paused_until = 19;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.AlarmConfigInfo.prototype.getPausedUntil = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 19));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n*/\nproto.ramius.AlarmConfigInfo.prototype.setPausedUntil = function(value) {\n return jspb.Message.setWrapperField(this, 19, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.clearPausedUntil = function() {\n return this.setPausedUntil(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmConfigInfo.prototype.hasPausedUntil = function() {\n return jspb.Message.getField(this, 19) != null;\n};\n\n\n/**\n * optional string policy_id = 10;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional AlarmType rule = 11;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.AlarmConfigInfo.prototype.getRule = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setRule = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional string prefix = 12;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string peer_id = 13;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional uint32 asn = 14;\n * @return {number}\n */\nproto.ramius.AlarmConfigInfo.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional string device_id = 15;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string gateway_id = 16;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getGatewayId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setGatewayId = function(value) {\n return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional string interface = 17;\n * @return {string}\n */\nproto.ramius.AlarmConfigInfo.prototype.getInterface = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setInterface = function(value) {\n return jspb.Message.setProto3StringField(this, 17, value);\n};\n\n\n/**\n * optional AlarmPolicyType policy_type = 18;\n * @return {!proto.ramius.AlarmPolicyType}\n */\nproto.ramius.AlarmConfigInfo.prototype.getPolicyType = function() {\n return /** @type {!proto.ramius.AlarmPolicyType} */ (jspb.Message.getFieldWithDefault(this, 18, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @return {!proto.ramius.AlarmConfigInfo} returns this\n */\nproto.ramius.AlarmConfigInfo.prototype.setPolicyType = function(value) {\n return jspb.Message.setProto3EnumField(this, 18, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetAlarmConfigInfoRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAlarmConfigInfoRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAlarmConfigInfoRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmConfigInfoRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n needDetails: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAlarmConfigInfoRequest}\n */\nproto.ramius.GetAlarmConfigInfoRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAlarmConfigInfoRequest;\n return proto.ramius.GetAlarmConfigInfoRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAlarmConfigInfoRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAlarmConfigInfoRequest}\n */\nproto.ramius.GetAlarmConfigInfoRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addAlarmIds(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAlarmConfigInfoRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAlarmConfigInfoRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmConfigInfoRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getNeedDetails();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated string alarm_ids = 1;\n * @return {!Array}\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.getAlarmIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetAlarmConfigInfoRequest} returns this\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.setAlarmIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetAlarmConfigInfoRequest} returns this\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.addAlarmIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetAlarmConfigInfoRequest} returns this\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.clearAlarmIdsList = function() {\n return this.setAlarmIdsList([]);\n};\n\n\n/**\n * optional bool need_details = 2;\n * @return {boolean}\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.getNeedDetails = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetAlarmConfigInfoRequest} returns this\n */\nproto.ramius.GetAlarmConfigInfoRequest.prototype.setNeedDetails = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmConfigInfoResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmConfigInfoResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmConfigInfoResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmConfigInfoResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmConfigInfoResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmInfosList: jspb.Message.toObjectList(msg.getAlarmInfosList(),\n proto.ramius.AlarmConfigInfo.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmConfigInfoResponse}\n */\nproto.ramius.AlarmConfigInfoResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmConfigInfoResponse;\n return proto.ramius.AlarmConfigInfoResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmConfigInfoResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmConfigInfoResponse}\n */\nproto.ramius.AlarmConfigInfoResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AlarmConfigInfo;\n reader.readMessage(value,proto.ramius.AlarmConfigInfo.deserializeBinaryFromReader);\n msg.addAlarmInfos(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmConfigInfoResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmConfigInfoResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmConfigInfoResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmConfigInfoResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmInfosList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.AlarmConfigInfo.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated AlarmConfigInfo alarm_infos = 1;\n * @return {!Array}\n */\nproto.ramius.AlarmConfigInfoResponse.prototype.getAlarmInfosList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AlarmConfigInfo, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmConfigInfoResponse} returns this\n*/\nproto.ramius.AlarmConfigInfoResponse.prototype.setAlarmInfosList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmConfigInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmConfigInfo}\n */\nproto.ramius.AlarmConfigInfoResponse.prototype.addAlarmInfos = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.AlarmConfigInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmConfigInfoResponse} returns this\n */\nproto.ramius.AlarmConfigInfoResponse.prototype.clearAlarmInfosList = function() {\n return this.setAlarmInfosList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Endpoint.repeatedFields_ = [11];\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.Endpoint.oneofGroups_ = [[5,6,7,20,21,23,25,26]];\n\n/**\n * @enum {number}\n */\nproto.ramius.Endpoint.EndpointTypeCase = {\n ENDPOINT_TYPE_NOT_SET: 0,\n EMAIL: 5,\n SMS: 6,\n S3: 7,\n SLACK: 20,\n WEBEX_TEAMS: 21,\n MICROSOFT_TEAMS: 23,\n PAGER_DUTY: 25,\n GOOGLE_STORAGE: 26\n};\n\n/**\n * @return {proto.ramius.Endpoint.EndpointTypeCase}\n */\nproto.ramius.Endpoint.prototype.getEndpointTypeCase = function() {\n return /** @type {proto.ramius.Endpoint.EndpointTypeCase} */(jspb.Message.computeOneofCase(this, proto.ramius.Endpoint.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Endpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Endpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Endpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Endpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n status: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 9, false),\n description: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 11)) == null ? undefined : f,\n email: (f = msg.getEmail()) && proto.ramius.EmailEndpoint.toObject(includeInstance, f),\n sms: (f = msg.getSms()) && proto.ramius.SmsEndpoint.toObject(includeInstance, f),\n s3: (f = msg.getS3()) && proto.ramius.S3Endpoint.toObject(includeInstance, f),\n slack: (f = msg.getSlack()) && proto.ramius.SlackEndpoint.toObject(includeInstance, f),\n webexTeams: (f = msg.getWebexTeams()) && proto.ramius.WebExEndpoint.toObject(includeInstance, f),\n microsoftTeams: (f = msg.getMicrosoftTeams()) && proto.ramius.TeamsEndpoint.toObject(includeInstance, f),\n pagerDuty: (f = msg.getPagerDuty()) && proto.ramius.PagerDutyEndpoint.toObject(includeInstance, f),\n googleStorage: (f = msg.getGoogleStorage()) && proto.ramius.GoogleStorageEndpoint.toObject(includeInstance, f),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Endpoint}\n */\nproto.ramius.Endpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Endpoint;\n return proto.ramius.Endpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Endpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Endpoint}\n */\nproto.ramius.Endpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 8:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setStatus(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 5:\n var value = new proto.ramius.EmailEndpoint;\n reader.readMessage(value,proto.ramius.EmailEndpoint.deserializeBinaryFromReader);\n msg.setEmail(value);\n break;\n case 6:\n var value = new proto.ramius.SmsEndpoint;\n reader.readMessage(value,proto.ramius.SmsEndpoint.deserializeBinaryFromReader);\n msg.setSms(value);\n break;\n case 7:\n var value = new proto.ramius.S3Endpoint;\n reader.readMessage(value,proto.ramius.S3Endpoint.deserializeBinaryFromReader);\n msg.setS3(value);\n break;\n case 20:\n var value = new proto.ramius.SlackEndpoint;\n reader.readMessage(value,proto.ramius.SlackEndpoint.deserializeBinaryFromReader);\n msg.setSlack(value);\n break;\n case 21:\n var value = new proto.ramius.WebExEndpoint;\n reader.readMessage(value,proto.ramius.WebExEndpoint.deserializeBinaryFromReader);\n msg.setWebexTeams(value);\n break;\n case 23:\n var value = new proto.ramius.TeamsEndpoint;\n reader.readMessage(value,proto.ramius.TeamsEndpoint.deserializeBinaryFromReader);\n msg.setMicrosoftTeams(value);\n break;\n case 25:\n var value = new proto.ramius.PagerDutyEndpoint;\n reader.readMessage(value,proto.ramius.PagerDutyEndpoint.deserializeBinaryFromReader);\n msg.setPagerDuty(value);\n break;\n case 26:\n var value = new proto.ramius.GoogleStorageEndpoint;\n reader.readMessage(value,proto.ramius.GoogleStorageEndpoint.deserializeBinaryFromReader);\n msg.setGoogleStorage(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Endpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Endpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Endpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Endpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getStatus();\n if (f) {\n writer.writeBool(\n 8,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 11,\n f\n );\n }\n f = message.getEmail();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.ramius.EmailEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getSms();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.SmsEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getS3();\n if (f != null) {\n writer.writeMessage(\n 7,\n f,\n proto.ramius.S3Endpoint.serializeBinaryToWriter\n );\n }\n f = message.getSlack();\n if (f != null) {\n writer.writeMessage(\n 20,\n f,\n proto.ramius.SlackEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getWebexTeams();\n if (f != null) {\n writer.writeMessage(\n 21,\n f,\n proto.ramius.WebExEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getMicrosoftTeams();\n if (f != null) {\n writer.writeMessage(\n 23,\n f,\n proto.ramius.TeamsEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getPagerDuty();\n if (f != null) {\n writer.writeMessage(\n 25,\n f,\n proto.ramius.PagerDutyEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getGoogleStorage();\n if (f != null) {\n writer.writeMessage(\n 26,\n f,\n proto.ramius.GoogleStorageEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional string euuid = 1;\n * @return {string}\n */\nproto.ramius.Endpoint.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.Endpoint.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool status = 8;\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.getStatus = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setStatus = function(value) {\n return jspb.Message.setProto3BooleanField(this, 8, value);\n};\n\n\n/**\n * optional bool enabled = 9;\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n/**\n * optional string description = 10;\n * @return {string}\n */\nproto.ramius.Endpoint.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * repeated string tags = 11;\n * @return {!Array}\n */\nproto.ramius.Endpoint.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 11));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 11, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 11, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional EmailEndpoint email = 5;\n * @return {?proto.ramius.EmailEndpoint}\n */\nproto.ramius.Endpoint.prototype.getEmail = function() {\n return /** @type{?proto.ramius.EmailEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.EmailEndpoint, 5));\n};\n\n\n/**\n * @param {?proto.ramius.EmailEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setEmail = function(value) {\n return jspb.Message.setOneofWrapperField(this, 5, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearEmail = function() {\n return this.setEmail(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasEmail = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional SmsEndpoint sms = 6;\n * @return {?proto.ramius.SmsEndpoint}\n */\nproto.ramius.Endpoint.prototype.getSms = function() {\n return /** @type{?proto.ramius.SmsEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SmsEndpoint, 6));\n};\n\n\n/**\n * @param {?proto.ramius.SmsEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setSms = function(value) {\n return jspb.Message.setOneofWrapperField(this, 6, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearSms = function() {\n return this.setSms(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasSms = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional S3Endpoint s3 = 7;\n * @return {?proto.ramius.S3Endpoint}\n */\nproto.ramius.Endpoint.prototype.getS3 = function() {\n return /** @type{?proto.ramius.S3Endpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.S3Endpoint, 7));\n};\n\n\n/**\n * @param {?proto.ramius.S3Endpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setS3 = function(value) {\n return jspb.Message.setOneofWrapperField(this, 7, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearS3 = function() {\n return this.setS3(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasS3 = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional SlackEndpoint slack = 20;\n * @return {?proto.ramius.SlackEndpoint}\n */\nproto.ramius.Endpoint.prototype.getSlack = function() {\n return /** @type{?proto.ramius.SlackEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SlackEndpoint, 20));\n};\n\n\n/**\n * @param {?proto.ramius.SlackEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setSlack = function(value) {\n return jspb.Message.setOneofWrapperField(this, 20, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearSlack = function() {\n return this.setSlack(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasSlack = function() {\n return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional WebExEndpoint webex_teams = 21;\n * @return {?proto.ramius.WebExEndpoint}\n */\nproto.ramius.Endpoint.prototype.getWebexTeams = function() {\n return /** @type{?proto.ramius.WebExEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.WebExEndpoint, 21));\n};\n\n\n/**\n * @param {?proto.ramius.WebExEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setWebexTeams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 21, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearWebexTeams = function() {\n return this.setWebexTeams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasWebexTeams = function() {\n return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional TeamsEndpoint microsoft_teams = 23;\n * @return {?proto.ramius.TeamsEndpoint}\n */\nproto.ramius.Endpoint.prototype.getMicrosoftTeams = function() {\n return /** @type{?proto.ramius.TeamsEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TeamsEndpoint, 23));\n};\n\n\n/**\n * @param {?proto.ramius.TeamsEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setMicrosoftTeams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 23, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearMicrosoftTeams = function() {\n return this.setMicrosoftTeams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasMicrosoftTeams = function() {\n return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional PagerDutyEndpoint pager_duty = 25;\n * @return {?proto.ramius.PagerDutyEndpoint}\n */\nproto.ramius.Endpoint.prototype.getPagerDuty = function() {\n return /** @type{?proto.ramius.PagerDutyEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PagerDutyEndpoint, 25));\n};\n\n\n/**\n * @param {?proto.ramius.PagerDutyEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setPagerDuty = function(value) {\n return jspb.Message.setOneofWrapperField(this, 25, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearPagerDuty = function() {\n return this.setPagerDuty(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasPagerDuty = function() {\n return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional GoogleStorageEndpoint google_storage = 26;\n * @return {?proto.ramius.GoogleStorageEndpoint}\n */\nproto.ramius.Endpoint.prototype.getGoogleStorage = function() {\n return /** @type{?proto.ramius.GoogleStorageEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.GoogleStorageEndpoint, 26));\n};\n\n\n/**\n * @param {?proto.ramius.GoogleStorageEndpoint|undefined} value\n * @return {!proto.ramius.Endpoint} returns this\n*/\nproto.ramius.Endpoint.prototype.setGoogleStorage = function(value) {\n return jspb.Message.setOneofWrapperField(this, 26, proto.ramius.Endpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.clearGoogleStorage = function() {\n return this.setGoogleStorage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Endpoint.prototype.hasGoogleStorage = function() {\n return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.Endpoint.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.Endpoint} returns this\n */\nproto.ramius.Endpoint.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n endpointId: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationEndpointRequest}\n */\nproto.ramius.GetNotificationEndpointRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationEndpointRequest;\n return proto.ramius.GetNotificationEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationEndpointRequest}\n */\nproto.ramius.GetNotificationEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setEndpointId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationEndpointRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getEndpointId();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string euuid = 1;\n * @return {string}\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetNotificationEndpointRequest} returns this\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string endpoint_id = 2;\n * @return {string}\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.getEndpointId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetNotificationEndpointRequest} returns this\n */\nproto.ramius.GetNotificationEndpointRequest.prototype.setEndpointId = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n endpoint: (f = msg.getEndpoint()) && proto.ramius.Endpoint.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationEndpointResponse}\n */\nproto.ramius.GetNotificationEndpointResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationEndpointResponse;\n return proto.ramius.GetNotificationEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationEndpointResponse}\n */\nproto.ramius.GetNotificationEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Endpoint;\n reader.readMessage(value,proto.ramius.Endpoint.deserializeBinaryFromReader);\n msg.setEndpoint(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationEndpointResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationEndpointResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEndpoint();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Endpoint.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Endpoint endpoint = 1;\n * @return {?proto.ramius.Endpoint}\n */\nproto.ramius.GetNotificationEndpointResponse.prototype.getEndpoint = function() {\n return /** @type{?proto.ramius.Endpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Endpoint, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Endpoint|undefined} value\n * @return {!proto.ramius.GetNotificationEndpointResponse} returns this\n*/\nproto.ramius.GetNotificationEndpointResponse.prototype.setEndpoint = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetNotificationEndpointResponse} returns this\n */\nproto.ramius.GetNotificationEndpointResponse.prototype.clearEndpoint = function() {\n return this.setEndpoint(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetNotificationEndpointResponse.prototype.hasEndpoint = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetNotificationEndpointsRequest.repeatedFields_ = [1,2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationEndpointsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationEndpointsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n endpointIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n namesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n typesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n limit: jspb.Message.getFieldWithDefault(msg, 10, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n sortName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 13, 0),\n needTotalCount: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationEndpointsRequest}\n */\nproto.ramius.GetNotificationEndpointsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationEndpointsRequest;\n return proto.ramius.GetNotificationEndpointsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationEndpointsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationEndpointsRequest}\n */\nproto.ramius.GetNotificationEndpointsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addEndpointIds(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addNames(value);\n break;\n case 3:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addTypes(values[i]);\n }\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNeedTotalCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationEndpointsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationEndpointsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEndpointIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getNamesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getTypesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 3,\n f\n );\n }\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getNeedTotalCount();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * repeated string endpoint_ids = 1;\n * @return {!Array}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getEndpointIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setEndpointIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.addEndpointIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.clearEndpointIdsList = function() {\n return this.setEndpointIdsList([]);\n};\n\n\n/**\n * repeated string names = 2;\n * @return {!Array}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getNamesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setNamesList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.addNames = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.clearNamesList = function() {\n return this.setNamesList([]);\n};\n\n\n/**\n * repeated EndpointType types = 3;\n * @return {!Array}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getTypesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setTypesList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.EndpointType} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.addTypes = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.clearTypesList = function() {\n return this.setTypesList([]);\n};\n\n\n/**\n * optional uint32 limit = 10;\n * @return {number}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string opaque_token = 11;\n * @return {string}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string sort_name = 12;\n * @return {string}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 13;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool need_total_count = 14;\n * @return {boolean}\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.getNeedTotalCount = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetNotificationEndpointsRequest} returns this\n */\nproto.ramius.GetNotificationEndpointsRequest.prototype.setNeedTotalCount = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetNotificationEndpointsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationEndpointsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationEndpointsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n endpointsList: jspb.Message.toObjectList(msg.getEndpointsList(),\n proto.ramius.Endpoint.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 5, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationEndpointsResponse}\n */\nproto.ramius.GetNotificationEndpointsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationEndpointsResponse;\n return proto.ramius.GetNotificationEndpointsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationEndpointsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationEndpointsResponse}\n */\nproto.ramius.GetNotificationEndpointsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Endpoint;\n reader.readMessage(value,proto.ramius.Endpoint.deserializeBinaryFromReader);\n msg.addEndpoints(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationEndpointsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationEndpointsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationEndpointsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.Endpoint.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n};\n\n\n/**\n * repeated Endpoint endpoints = 1;\n * @return {!Array}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.getEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Endpoint, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetNotificationEndpointsResponse} returns this\n*/\nproto.ramius.GetNotificationEndpointsResponse.prototype.setEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.Endpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Endpoint}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.addEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.Endpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetNotificationEndpointsResponse} returns this\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.clearEndpointsList = function() {\n return this.setEndpointsList([]);\n};\n\n\n/**\n * optional uint32 total_count = 3;\n * @return {number}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetNotificationEndpointsResponse} returns this\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string opaque_token = 4;\n * @return {string}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetNotificationEndpointsResponse} returns this\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool end_of_data = 5;\n * @return {boolean}\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetNotificationEndpointsResponse} returns this\n */\nproto.ramius.GetNotificationEndpointsResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EmailEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EmailEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EmailEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EmailEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n email: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EmailEndpoint}\n */\nproto.ramius.EmailEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EmailEndpoint;\n return proto.ramius.EmailEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EmailEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EmailEndpoint}\n */\nproto.ramius.EmailEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEmail(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EmailEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EmailEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EmailEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EmailEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEmail();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.ramius.EmailEndpoint.prototype.getEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EmailEndpoint} returns this\n */\nproto.ramius.EmailEndpoint.prototype.setEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SmsEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SmsEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SmsEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SmsEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n countryCode: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SmsEndpoint}\n */\nproto.ramius.SmsEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SmsEndpoint;\n return proto.ramius.SmsEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SmsEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SmsEndpoint}\n */\nproto.ramius.SmsEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountryCode(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPhoneNumber(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SmsEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SmsEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SmsEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SmsEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCountryCode();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPhoneNumber();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string country_code = 1;\n * @return {string}\n */\nproto.ramius.SmsEndpoint.prototype.getCountryCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SmsEndpoint} returns this\n */\nproto.ramius.SmsEndpoint.prototype.setCountryCode = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.ramius.SmsEndpoint.prototype.getPhoneNumber = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SmsEndpoint} returns this\n */\nproto.ramius.SmsEndpoint.prototype.setPhoneNumber = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.S3Endpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.S3Endpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.S3Endpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.S3Endpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n fqdn: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n port: jspb.Message.getFieldWithDefault(msg, 2, 0),\n region: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n bucketName: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n rootPath: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n accessKeyId: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n secretAccessKey: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.S3Endpoint}\n */\nproto.ramius.S3Endpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.S3Endpoint;\n return proto.ramius.S3Endpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.S3Endpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.S3Endpoint}\n */\nproto.ramius.S3Endpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setFqdn(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPort(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRegion(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setBucketName(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setRootPath(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setAccessKeyId(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setSecretAccessKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.S3Endpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.S3Endpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.S3Endpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.S3Endpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFqdn();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPort();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getRegion();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getBucketName();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getRootPath();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getAccessKeyId();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getSecretAccessKey();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n};\n\n\n/**\n * optional string fqdn = 1;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getFqdn = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setFqdn = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 port = 2;\n * @return {number}\n */\nproto.ramius.S3Endpoint.prototype.getPort = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setPort = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string region = 3;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getRegion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setRegion = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string bucket_name = 4;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getBucketName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setBucketName = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string root_path = 5;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getRootPath = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setRootPath = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string access_key_id = 6;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getAccessKeyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setAccessKeyId = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string secret_access_key = 7;\n * @return {string}\n */\nproto.ramius.S3Endpoint.prototype.getSecretAccessKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3Endpoint} returns this\n */\nproto.ramius.S3Endpoint.prototype.setSecretAccessKey = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GoogleStorageEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GoogleStorageEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GoogleStorageEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GoogleStorageEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n svcAccountKeyBase64: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n bucketName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n rootPath: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GoogleStorageEndpoint}\n */\nproto.ramius.GoogleStorageEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GoogleStorageEndpoint;\n return proto.ramius.GoogleStorageEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GoogleStorageEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GoogleStorageEndpoint}\n */\nproto.ramius.GoogleStorageEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSvcAccountKeyBase64(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setBucketName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRootPath(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GoogleStorageEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GoogleStorageEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GoogleStorageEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GoogleStorageEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSvcAccountKeyBase64();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getBucketName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRootPath();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string svc_account_key_base64 = 1;\n * @return {string}\n */\nproto.ramius.GoogleStorageEndpoint.prototype.getSvcAccountKeyBase64 = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageEndpoint} returns this\n */\nproto.ramius.GoogleStorageEndpoint.prototype.setSvcAccountKeyBase64 = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string bucket_name = 2;\n * @return {string}\n */\nproto.ramius.GoogleStorageEndpoint.prototype.getBucketName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageEndpoint} returns this\n */\nproto.ramius.GoogleStorageEndpoint.prototype.setBucketName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string root_path = 3;\n * @return {string}\n */\nproto.ramius.GoogleStorageEndpoint.prototype.getRootPath = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageEndpoint} returns this\n */\nproto.ramius.GoogleStorageEndpoint.prototype.setRootPath = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SlackEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SlackEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SlackEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SlackEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n slackWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SlackEndpoint}\n */\nproto.ramius.SlackEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SlackEndpoint;\n return proto.ramius.SlackEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SlackEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SlackEndpoint}\n */\nproto.ramius.SlackEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlackWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SlackEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SlackEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SlackEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SlackEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSlackWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string slack_webhook = 1;\n * @return {string}\n */\nproto.ramius.SlackEndpoint.prototype.getSlackWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SlackEndpoint} returns this\n */\nproto.ramius.SlackEndpoint.prototype.setSlackWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.WebExEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.WebExEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.WebExEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WebExEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n webexWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.WebExEndpoint}\n */\nproto.ramius.WebExEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.WebExEndpoint;\n return proto.ramius.WebExEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.WebExEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.WebExEndpoint}\n */\nproto.ramius.WebExEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setWebexWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.WebExEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.WebExEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.WebExEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WebExEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getWebexWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string webex_webhook = 1;\n * @return {string}\n */\nproto.ramius.WebExEndpoint.prototype.getWebexWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WebExEndpoint} returns this\n */\nproto.ramius.WebExEndpoint.prototype.setWebexWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TeamsEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TeamsEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TeamsEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TeamsEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n teamsWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TeamsEndpoint}\n */\nproto.ramius.TeamsEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TeamsEndpoint;\n return proto.ramius.TeamsEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TeamsEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TeamsEndpoint}\n */\nproto.ramius.TeamsEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTeamsWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TeamsEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TeamsEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TeamsEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TeamsEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTeamsWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string teams_webhook = 1;\n * @return {string}\n */\nproto.ramius.TeamsEndpoint.prototype.getTeamsWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TeamsEndpoint} returns this\n */\nproto.ramius.TeamsEndpoint.prototype.setTeamsWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PagerDutyEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PagerDutyEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PagerDutyEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PagerDutyEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n routingKey: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PagerDutyEndpoint}\n */\nproto.ramius.PagerDutyEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PagerDutyEndpoint;\n return proto.ramius.PagerDutyEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PagerDutyEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PagerDutyEndpoint}\n */\nproto.ramius.PagerDutyEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRoutingKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PagerDutyEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PagerDutyEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PagerDutyEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PagerDutyEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRoutingKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string routing_key = 1;\n * @return {string}\n */\nproto.ramius.PagerDutyEndpoint.prototype.getRoutingKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PagerDutyEndpoint} returns this\n */\nproto.ramius.PagerDutyEndpoint.prototype.setRoutingKey = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Report.repeatedFields_ = [3,7,10];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Report.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Report.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Report} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Report.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n ruuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n type: jspb.Message.getFieldWithDefault(msg, 4, 0),\n description: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n state: jspb.Message.getFieldWithDefault(msg, 6, 0),\n euuidsList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n endpointNamesList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f,\n reportSchedule: (f = msg.getReportSchedule()) && schema_gen_pb.Schedule.toObject(includeInstance, f),\n configParams: (f = msg.getConfigParams()) && config_schema_pb.ReportConfigParams.toObject(includeInstance, f),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Report}\n */\nproto.ramius.Report.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Report;\n return proto.ramius.Report.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Report} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Report}\n */\nproto.ramius.Report.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setRuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.ReportType} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 6:\n var value = /** @type {!proto.ramius.ObjectState} */ (reader.readEnum());\n msg.setState(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.addEuuids(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.addEndpointNames(value);\n break;\n case 8:\n var value = new schema_gen_pb.Schedule;\n reader.readMessage(value,schema_gen_pb.Schedule.deserializeBinaryFromReader);\n msg.setReportSchedule(value);\n break;\n case 9:\n var value = new config_schema_pb.ReportConfigParams;\n reader.readMessage(value,config_schema_pb.ReportConfigParams.deserializeBinaryFromReader);\n msg.setConfigParams(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Report.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Report.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Report} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Report.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getRuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 6,\n f\n );\n }\n f = message.getEuuidsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 7,\n f\n );\n }\n f = message.getEndpointNamesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 10,\n f\n );\n }\n f = message.getReportSchedule();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n schema_gen_pb.Schedule.serializeBinaryToWriter\n );\n }\n f = message.getConfigParams();\n if (f != null) {\n writer.writeMessage(\n 9,\n f,\n config_schema_pb.ReportConfigParams.serializeBinaryToWriter\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.Report.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string ruuid = 2;\n * @return {string}\n */\nproto.ramius.Report.prototype.getRuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setRuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated string tags = 3;\n * @return {!Array}\n */\nproto.ramius.Report.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional ReportType type = 4;\n * @return {!proto.ramius.ReportType}\n */\nproto.ramius.Report.prototype.getType = function() {\n return /** @type {!proto.ramius.ReportType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ReportType} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n/**\n * optional string description = 5;\n * @return {string}\n */\nproto.ramius.Report.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional ObjectState state = 6;\n * @return {!proto.ramius.ObjectState}\n */\nproto.ramius.Report.prototype.getState = function() {\n return /** @type {!proto.ramius.ObjectState} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ObjectState} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * repeated string euuids = 7;\n * @return {!Array}\n */\nproto.ramius.Report.prototype.getEuuidsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setEuuidsList = function(value) {\n return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.addEuuids = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.clearEuuidsList = function() {\n return this.setEuuidsList([]);\n};\n\n\n/**\n * repeated string endpoint_names = 10;\n * @return {!Array}\n */\nproto.ramius.Report.prototype.getEndpointNamesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 10));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setEndpointNamesList = function(value) {\n return jspb.Message.setField(this, 10, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.addEndpointNames = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 10, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.clearEndpointNamesList = function() {\n return this.setEndpointNamesList([]);\n};\n\n\n/**\n * optional Schedule report_schedule = 8;\n * @return {?proto.ramius.Schedule}\n */\nproto.ramius.Report.prototype.getReportSchedule = function() {\n return /** @type{?proto.ramius.Schedule} */ (\n jspb.Message.getWrapperField(this, schema_gen_pb.Schedule, 8));\n};\n\n\n/**\n * @param {?proto.ramius.Schedule|undefined} value\n * @return {!proto.ramius.Report} returns this\n*/\nproto.ramius.Report.prototype.setReportSchedule = function(value) {\n return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.clearReportSchedule = function() {\n return this.setReportSchedule(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Report.prototype.hasReportSchedule = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional ReportConfigParams config_params = 9;\n * @return {?proto.ramius.ReportConfigParams}\n */\nproto.ramius.Report.prototype.getConfigParams = function() {\n return /** @type{?proto.ramius.ReportConfigParams} */ (\n jspb.Message.getWrapperField(this, config_schema_pb.ReportConfigParams, 9));\n};\n\n\n/**\n * @param {?proto.ramius.ReportConfigParams|undefined} value\n * @return {!proto.ramius.Report} returns this\n*/\nproto.ramius.Report.prototype.setConfigParams = function(value) {\n return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.clearConfigParams = function() {\n return this.setConfigParams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Report.prototype.hasConfigParams = function() {\n return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.Report.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.Report} returns this\n */\nproto.ramius.Report.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetReportsRequest.repeatedFields_ = [1,2,6,7,8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetReportsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetReportsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetReportsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetReportsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruuidsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n tagsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n filterAsn: jspb.Message.getFieldWithDefault(msg, 3, 0),\n reportType: jspb.Message.getFieldWithDefault(msg, 4, 0),\n reportSchedule: (f = msg.getReportSchedule()) && schema_gen_pb.Schedule.toObject(includeInstance, f),\n statesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f,\n euuidsList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n namesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,\n sortName: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n sortOrder: jspb.Message.getFieldWithDefault(msg, 16, 0),\n totalCount: jspb.Message.getFieldWithDefault(msg, 17, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 18, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 19, false),\n limit: jspb.Message.getFieldWithDefault(msg, 20, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetReportsRequest}\n */\nproto.ramius.GetReportsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetReportsRequest;\n return proto.ramius.GetReportsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetReportsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetReportsRequest}\n */\nproto.ramius.GetReportsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addRuuids(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setFilterAsn(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.ReportType} */ (reader.readEnum());\n msg.setReportType(value);\n break;\n case 5:\n var value = new schema_gen_pb.Schedule;\n reader.readMessage(value,schema_gen_pb.Schedule.deserializeBinaryFromReader);\n msg.setReportSchedule(value);\n break;\n case 6:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addStates(values[i]);\n }\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.addEuuids(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.addNames(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setSortName(value);\n break;\n case 16:\n var value = /** @type {!proto.ramius.SortOrder} */ (reader.readEnum());\n msg.setSortOrder(value);\n break;\n case 17:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 18:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 19:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n case 20:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLimit(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetReportsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetReportsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetReportsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetReportsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuuidsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getFilterAsn();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getReportType();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n f = message.getReportSchedule();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n schema_gen_pb.Schedule.serializeBinaryToWriter\n );\n }\n f = message.getStatesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 6,\n f\n );\n }\n f = message.getEuuidsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 7,\n f\n );\n }\n f = message.getNamesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 8,\n f\n );\n }\n f = message.getSortName();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getSortOrder();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 17,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 18,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 19,\n f\n );\n }\n f = message.getLimit();\n if (f !== 0) {\n writer.writeUint32(\n 20,\n f\n );\n }\n};\n\n\n/**\n * repeated string ruuids = 1;\n * @return {!Array}\n */\nproto.ramius.GetReportsRequest.prototype.getRuuidsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setRuuidsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.addRuuids = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearRuuidsList = function() {\n return this.setRuuidsList([]);\n};\n\n\n/**\n * repeated string tags = 2;\n * @return {!Array}\n */\nproto.ramius.GetReportsRequest.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional uint32 filter_asn = 3;\n * @return {number}\n */\nproto.ramius.GetReportsRequest.prototype.getFilterAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setFilterAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional ReportType report_type = 4;\n * @return {!proto.ramius.ReportType}\n */\nproto.ramius.GetReportsRequest.prototype.getReportType = function() {\n return /** @type {!proto.ramius.ReportType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ReportType} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setReportType = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n/**\n * optional Schedule report_schedule = 5;\n * @return {?proto.ramius.Schedule}\n */\nproto.ramius.GetReportsRequest.prototype.getReportSchedule = function() {\n return /** @type{?proto.ramius.Schedule} */ (\n jspb.Message.getWrapperField(this, schema_gen_pb.Schedule, 5));\n};\n\n\n/**\n * @param {?proto.ramius.Schedule|undefined} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n*/\nproto.ramius.GetReportsRequest.prototype.setReportSchedule = function(value) {\n return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearReportSchedule = function() {\n return this.setReportSchedule(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetReportsRequest.prototype.hasReportSchedule = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * repeated ObjectState states = 6;\n * @return {!Array}\n */\nproto.ramius.GetReportsRequest.prototype.getStatesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setStatesList = function(value) {\n return jspb.Message.setField(this, 6, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.ObjectState} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.addStates = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 6, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearStatesList = function() {\n return this.setStatesList([]);\n};\n\n\n/**\n * repeated string euuids = 7;\n * @return {!Array}\n */\nproto.ramius.GetReportsRequest.prototype.getEuuidsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setEuuidsList = function(value) {\n return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.addEuuids = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearEuuidsList = function() {\n return this.setEuuidsList([]);\n};\n\n\n/**\n * repeated string names = 8;\n * @return {!Array}\n */\nproto.ramius.GetReportsRequest.prototype.getNamesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setNamesList = function(value) {\n return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.addNames = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.clearNamesList = function() {\n return this.setNamesList([]);\n};\n\n\n/**\n * optional string sort_name = 15;\n * @return {string}\n */\nproto.ramius.GetReportsRequest.prototype.getSortName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setSortName = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional SortOrder sort_order = 16;\n * @return {!proto.ramius.SortOrder}\n */\nproto.ramius.GetReportsRequest.prototype.getSortOrder = function() {\n return /** @type {!proto.ramius.SortOrder} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SortOrder} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setSortOrder = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n/**\n * optional uint32 total_count = 17;\n * @return {number}\n */\nproto.ramius.GetReportsRequest.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 17, value);\n};\n\n\n/**\n * optional string opaque_token = 18;\n * @return {string}\n */\nproto.ramius.GetReportsRequest.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 18, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 18, value);\n};\n\n\n/**\n * optional bool end_of_data = 19;\n * @return {boolean}\n */\nproto.ramius.GetReportsRequest.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 19, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 19, value);\n};\n\n\n/**\n * optional uint32 limit = 20;\n * @return {number}\n */\nproto.ramius.GetReportsRequest.prototype.getLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetReportsRequest} returns this\n */\nproto.ramius.GetReportsRequest.prototype.setLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EndpointTypeData.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EndpointTypeData.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EndpointTypeData} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EndpointTypeData.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n endpointType: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EndpointTypeData}\n */\nproto.ramius.EndpointTypeData.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EndpointTypeData;\n return proto.ramius.EndpointTypeData.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EndpointTypeData} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EndpointTypeData}\n */\nproto.ramius.EndpointTypeData.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setEndpointType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EndpointTypeData.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EndpointTypeData.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EndpointTypeData} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EndpointTypeData.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getEndpointType();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string euuid = 1;\n * @return {string}\n */\nproto.ramius.EndpointTypeData.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EndpointTypeData} returns this\n */\nproto.ramius.EndpointTypeData.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string endpoint_type = 2;\n * @return {string}\n */\nproto.ramius.EndpointTypeData.prototype.getEndpointType = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EndpointTypeData} returns this\n */\nproto.ramius.EndpointTypeData.prototype.setEndpointType = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetReportsResponse.repeatedFields_ = [1,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetReportsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetReportsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetReportsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetReportsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n reportsList: jspb.Message.toObjectList(msg.getReportsList(),\n proto.ramius.Report.toObject, includeInstance),\n totalCount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n opaqueToken: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n endOfData: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n endpointsList: jspb.Message.toObjectList(msg.getEndpointsList(),\n proto.ramius.EndpointTypeData.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetReportsResponse}\n */\nproto.ramius.GetReportsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetReportsResponse;\n return proto.ramius.GetReportsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetReportsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetReportsResponse}\n */\nproto.ramius.GetReportsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Report;\n reader.readMessage(value,proto.ramius.Report.deserializeBinaryFromReader);\n msg.addReports(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setTotalCount(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setOpaqueToken(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEndOfData(value);\n break;\n case 6:\n var value = new proto.ramius.EndpointTypeData;\n reader.readMessage(value,proto.ramius.EndpointTypeData.deserializeBinaryFromReader);\n msg.addEndpoints(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetReportsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetReportsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetReportsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetReportsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getReportsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.Report.serializeBinaryToWriter\n );\n }\n f = message.getTotalCount();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getOpaqueToken();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getEndOfData();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 6,\n f,\n proto.ramius.EndpointTypeData.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Report reports = 1;\n * @return {!Array}\n */\nproto.ramius.GetReportsResponse.prototype.getReportsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Report, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsResponse} returns this\n*/\nproto.ramius.GetReportsResponse.prototype.setReportsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.Report=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report}\n */\nproto.ramius.GetReportsResponse.prototype.addReports = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.Report, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsResponse} returns this\n */\nproto.ramius.GetReportsResponse.prototype.clearReportsList = function() {\n return this.setReportsList([]);\n};\n\n\n/**\n * optional uint32 total_count = 3;\n * @return {number}\n */\nproto.ramius.GetReportsResponse.prototype.getTotalCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GetReportsResponse} returns this\n */\nproto.ramius.GetReportsResponse.prototype.setTotalCount = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string opaque_token = 4;\n * @return {string}\n */\nproto.ramius.GetReportsResponse.prototype.getOpaqueToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetReportsResponse} returns this\n */\nproto.ramius.GetReportsResponse.prototype.setOpaqueToken = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool end_of_data = 5;\n * @return {boolean}\n */\nproto.ramius.GetReportsResponse.prototype.getEndOfData = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.GetReportsResponse} returns this\n */\nproto.ramius.GetReportsResponse.prototype.setEndOfData = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * repeated EndpointTypeData endpoints = 6;\n * @return {!Array}\n */\nproto.ramius.GetReportsResponse.prototype.getEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.EndpointTypeData, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetReportsResponse} returns this\n*/\nproto.ramius.GetReportsResponse.prototype.setEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.ramius.EndpointTypeData=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.EndpointTypeData}\n */\nproto.ramius.GetReportsResponse.prototype.addEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.ramius.EndpointTypeData, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetReportsResponse} returns this\n */\nproto.ramius.GetReportsResponse.prototype.clearEndpointsList = function() {\n return this.setEndpointsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.BgpPeerInfo.repeatedFields_ = [4,40];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpPeerInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpPeerInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpPeerInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n state: jspb.Message.getFieldWithDefault(msg, 5, 0),\n asn: jspb.Message.getFieldWithDefault(msg, 10, 0),\n ipv4Address: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n ipv6Address: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n bgpPeerId: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n contact: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n userEmail: jspb.Message.getFieldWithDefault(msg, 22, \"\"),\n city: jspb.Message.getFieldWithDefault(msg, 23, \"\"),\n country: jspb.Message.getFieldWithDefault(msg, 24, \"\"),\n policyId: jspb.Message.getFieldWithDefault(msg, 30, \"\"),\n mappingsList: jspb.Message.toObjectList(msg.getMappingsList(),\n config_schema_pb.BgpPeerMapping.toObject, includeInstance),\n importOperation: jspb.Message.getFieldWithDefault(msg, 45, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpPeerInfo}\n */\nproto.ramius.BgpPeerInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpPeerInfo;\n return proto.ramius.BgpPeerInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpPeerInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpPeerInfo}\n */\nproto.ramius.BgpPeerInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.ObjectState} */ (reader.readEnum());\n msg.setState(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv4Address(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv6Address(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpPeerId(value);\n break;\n case 21:\n var value = /** @type {string} */ (reader.readString());\n msg.setContact(value);\n break;\n case 22:\n var value = /** @type {string} */ (reader.readString());\n msg.setUserEmail(value);\n break;\n case 23:\n var value = /** @type {string} */ (reader.readString());\n msg.setCity(value);\n break;\n case 24:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountry(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 40:\n var value = new config_schema_pb.BgpPeerMapping;\n reader.readMessage(value,config_schema_pb.BgpPeerMapping.deserializeBinaryFromReader);\n msg.addMappings(value);\n break;\n case 45:\n var value = /** @type {!proto.ramius.OperationType} */ (reader.readEnum());\n msg.setImportOperation(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpPeerInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpPeerInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpPeerInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 4,\n f\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getIpv4Address();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getIpv6Address();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getBgpPeerId();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getContact();\n if (f.length > 0) {\n writer.writeString(\n 21,\n f\n );\n }\n f = message.getUserEmail();\n if (f.length > 0) {\n writer.writeString(\n 22,\n f\n );\n }\n f = message.getCity();\n if (f.length > 0) {\n writer.writeString(\n 23,\n f\n );\n }\n f = message.getCountry();\n if (f.length > 0) {\n writer.writeString(\n 24,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n f = message.getMappingsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 40,\n f,\n config_schema_pb.BgpPeerMapping.serializeBinaryToWriter\n );\n }\n f = message.getImportOperation();\n if (f !== 0.0) {\n writer.writeEnum(\n 45,\n f\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated string tags = 4;\n * @return {!Array}\n */\nproto.ramius.BgpPeerInfo.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional ObjectState state = 5;\n * @return {!proto.ramius.ObjectState}\n */\nproto.ramius.BgpPeerInfo.prototype.getState = function() {\n return /** @type {!proto.ramius.ObjectState} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ObjectState} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional uint32 asn = 10;\n * @return {number}\n */\nproto.ramius.BgpPeerInfo.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string ipv4_address = 11;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getIpv4Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setIpv4Address = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string ipv6_address = 12;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getIpv6Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setIpv6Address = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string bgp_peer_id = 13;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getBgpPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setBgpPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string contact = 21;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getContact = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setContact = function(value) {\n return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional string user_email = 22;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getUserEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setUserEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 22, value);\n};\n\n\n/**\n * optional string city = 23;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getCity = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 23, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setCity = function(value) {\n return jspb.Message.setProto3StringField(this, 23, value);\n};\n\n\n/**\n * optional string country = 24;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getCountry = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setCountry = function(value) {\n return jspb.Message.setProto3StringField(this, 24, value);\n};\n\n\n/**\n * optional string policy_id = 30;\n * @return {string}\n */\nproto.ramius.BgpPeerInfo.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n/**\n * repeated BgpPeerMapping mappings = 40;\n * @return {!Array}\n */\nproto.ramius.BgpPeerInfo.prototype.getMappingsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, config_schema_pb.BgpPeerMapping, 40));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n*/\nproto.ramius.BgpPeerInfo.prototype.setMappingsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 40, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpPeerMapping=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerMapping}\n */\nproto.ramius.BgpPeerInfo.prototype.addMappings = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 40, opt_value, proto.ramius.BgpPeerMapping, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.clearMappingsList = function() {\n return this.setMappingsList([]);\n};\n\n\n/**\n * optional OperationType import_operation = 45;\n * @return {!proto.ramius.OperationType}\n */\nproto.ramius.BgpPeerInfo.prototype.getImportOperation = function() {\n return /** @type {!proto.ramius.OperationType} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OperationType} value\n * @return {!proto.ramius.BgpPeerInfo} returns this\n */\nproto.ramius.BgpPeerInfo.prototype.setImportOperation = function(value) {\n return jspb.Message.setProto3EnumField(this, 45, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.BgpCiscoInfo.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpCiscoInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpCiscoInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpCiscoInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpCiscoInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n asn: jspb.Message.getFieldWithDefault(msg, 10, 0),\n ipv4Address: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n ipv6Address: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n bgpPeerId: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n usageCount: jspb.Message.getFieldWithDefault(msg, 14, 0),\n contact: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n city: jspb.Message.getFieldWithDefault(msg, 23, \"\"),\n country: jspb.Message.getFieldWithDefault(msg, 24, \"\"),\n peerLoad: (f = msg.getPeerLoad()) && config_schema_pb.BgpPeerLoad.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpCiscoInfo}\n */\nproto.ramius.BgpCiscoInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpCiscoInfo;\n return proto.ramius.BgpCiscoInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpCiscoInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpCiscoInfo}\n */\nproto.ramius.BgpCiscoInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv4Address(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv6Address(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpPeerId(value);\n break;\n case 14:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setUsageCount(value);\n break;\n case 21:\n var value = /** @type {string} */ (reader.readString());\n msg.setContact(value);\n break;\n case 23:\n var value = /** @type {string} */ (reader.readString());\n msg.setCity(value);\n break;\n case 24:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountry(value);\n break;\n case 30:\n var value = new config_schema_pb.BgpPeerLoad;\n reader.readMessage(value,config_schema_pb.BgpPeerLoad.deserializeBinaryFromReader);\n msg.setPeerLoad(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpCiscoInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpCiscoInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpCiscoInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpCiscoInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 4,\n f\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getIpv4Address();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getIpv6Address();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getBgpPeerId();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getUsageCount();\n if (f !== 0) {\n writer.writeInt32(\n 14,\n f\n );\n }\n f = message.getContact();\n if (f.length > 0) {\n writer.writeString(\n 21,\n f\n );\n }\n f = message.getCity();\n if (f.length > 0) {\n writer.writeString(\n 23,\n f\n );\n }\n f = message.getCountry();\n if (f.length > 0) {\n writer.writeString(\n 24,\n f\n );\n }\n f = message.getPeerLoad();\n if (f != null) {\n writer.writeMessage(\n 30,\n f,\n config_schema_pb.BgpPeerLoad.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string description = 3;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated string tags = 4;\n * @return {!Array}\n */\nproto.ramius.BgpCiscoInfo.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * optional uint32 asn = 10;\n * @return {number}\n */\nproto.ramius.BgpCiscoInfo.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string ipv4_address = 11;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getIpv4Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setIpv4Address = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string ipv6_address = 12;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getIpv6Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setIpv6Address = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string bgp_peer_id = 13;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getBgpPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setBgpPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional int32 usage_count = 14;\n * @return {number}\n */\nproto.ramius.BgpCiscoInfo.prototype.getUsageCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setUsageCount = function(value) {\n return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n/**\n * optional string contact = 21;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getContact = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setContact = function(value) {\n return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional string city = 23;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getCity = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 23, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setCity = function(value) {\n return jspb.Message.setProto3StringField(this, 23, value);\n};\n\n\n/**\n * optional string country = 24;\n * @return {string}\n */\nproto.ramius.BgpCiscoInfo.prototype.getCountry = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.setCountry = function(value) {\n return jspb.Message.setProto3StringField(this, 24, value);\n};\n\n\n/**\n * optional BgpPeerLoad peer_load = 30;\n * @return {?proto.ramius.BgpPeerLoad}\n */\nproto.ramius.BgpCiscoInfo.prototype.getPeerLoad = function() {\n return /** @type{?proto.ramius.BgpPeerLoad} */ (\n jspb.Message.getWrapperField(this, config_schema_pb.BgpPeerLoad, 30));\n};\n\n\n/**\n * @param {?proto.ramius.BgpPeerLoad|undefined} value\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n*/\nproto.ramius.BgpCiscoInfo.prototype.setPeerLoad = function(value) {\n return jspb.Message.setWrapperField(this, 30, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.BgpCiscoInfo} returns this\n */\nproto.ramius.BgpCiscoInfo.prototype.clearPeerLoad = function() {\n return this.setPeerLoad(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.BgpCiscoInfo.prototype.hasPeerLoad = function() {\n return jspb.Message.getField(this, 30) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetBgpCiscoPeerConfigRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetBgpCiscoPeerConfigRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetBgpCiscoPeerConfigRequest}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetBgpCiscoPeerConfigRequest;\n return proto.ramius.GetBgpCiscoPeerConfigRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetBgpCiscoPeerConfigRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetBgpCiscoPeerConfigRequest}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetBgpCiscoPeerConfigRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetBgpCiscoPeerConfigRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetBgpCiscoPeerConfigRequest} returns this\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetBgpCiscoPeerConfigRequest} returns this\n */\nproto.ramius.GetBgpCiscoPeerConfigRequest.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetBgpCiscoPeerConfigResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetBgpCiscoPeerConfigResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n peersList: jspb.Message.toObjectList(msg.getPeersList(),\n proto.ramius.BgpCiscoInfo.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetBgpCiscoPeerConfigResponse}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetBgpCiscoPeerConfigResponse;\n return proto.ramius.GetBgpCiscoPeerConfigResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetBgpCiscoPeerConfigResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetBgpCiscoPeerConfigResponse}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 3:\n var value = new proto.ramius.BgpCiscoInfo;\n reader.readMessage(value,proto.ramius.BgpCiscoInfo.deserializeBinaryFromReader);\n msg.addPeers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetBgpCiscoPeerConfigResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetBgpCiscoPeerConfigResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.BgpCiscoInfo.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated BgpCiscoInfo peers = 3;\n * @return {!Array}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.getPeersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpCiscoInfo, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetBgpCiscoPeerConfigResponse} returns this\n*/\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.setPeersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpCiscoInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpCiscoInfo}\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.addPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.BgpCiscoInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetBgpCiscoPeerConfigResponse} returns this\n */\nproto.ramius.GetBgpCiscoPeerConfigResponse.prototype.clearPeersList = function() {\n return this.setPeersList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetBgpPeerConfigRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetBgpPeerConfigRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpPeerConfigRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetBgpPeerConfigRequest}\n */\nproto.ramius.GetBgpPeerConfigRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetBgpPeerConfigRequest;\n return proto.ramius.GetBgpPeerConfigRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetBgpPeerConfigRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetBgpPeerConfigRequest}\n */\nproto.ramius.GetBgpPeerConfigRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetBgpPeerConfigRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetBgpPeerConfigRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpPeerConfigRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetBgpPeerConfigRequest} returns this\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetBgpPeerConfigRequest} returns this\n */\nproto.ramius.GetBgpPeerConfigRequest.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetBgpPeerConfigResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetBgpPeerConfigResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetBgpPeerConfigResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetBgpPeerConfigResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpPeerConfigResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n peersList: jspb.Message.toObjectList(msg.getPeersList(),\n proto.ramius.BgpPeerInfo.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetBgpPeerConfigResponse}\n */\nproto.ramius.GetBgpPeerConfigResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetBgpPeerConfigResponse;\n return proto.ramius.GetBgpPeerConfigResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetBgpPeerConfigResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetBgpPeerConfigResponse}\n */\nproto.ramius.GetBgpPeerConfigResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 3:\n var value = new proto.ramius.BgpPeerInfo;\n reader.readMessage(value,proto.ramius.BgpPeerInfo.deserializeBinaryFromReader);\n msg.addPeers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetBgpPeerConfigResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetBgpPeerConfigResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetBgpPeerConfigResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetBgpPeerConfigResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.BgpPeerInfo.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated BgpPeerInfo peers = 3;\n * @return {!Array}\n */\nproto.ramius.GetBgpPeerConfigResponse.prototype.getPeersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpPeerInfo, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetBgpPeerConfigResponse} returns this\n*/\nproto.ramius.GetBgpPeerConfigResponse.prototype.setPeersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpPeerInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerInfo}\n */\nproto.ramius.GetBgpPeerConfigResponse.prototype.addPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.BgpPeerInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetBgpPeerConfigResponse} returns this\n */\nproto.ramius.GetBgpPeerConfigResponse.prototype.clearPeersList = function() {\n return this.setPeersList([]);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.OperationRequest.oneofGroups_ = [[1,2,3,4,6,7,8,9,10,11,13,14,15,16,17]];\n\n/**\n * @enum {number}\n */\nproto.ramius.OperationRequest.OperationRequestCase = {\n OPERATION_REQUEST_NOT_SET: 0,\n SET_PREFIX_REQUEST: 1,\n DELETE_PREFIX_REQUEST: 2,\n SET_GROUP_REQUEST: 3,\n DELETE_GROUP_REQUEST: 4,\n SET_NOTIFICATION_ENDPOINT_REQUEST: 6,\n DELETE_NOTIFICATION_ENDPOINT_REQUEST: 7,\n SET_ASN_REQUEST: 8,\n DELETE_ASN_REQUEST: 9,\n SET_REPORT_REQUEST: 10,\n DELETE_REPORT_REQUEST: 11,\n DELETE_BGP_PEER_CONFIG_REQUEST: 13,\n SET_BGP_PEER_CONFIG_REQUEST: 14,\n SET_ALARM_POLICY_REQUEST: 15,\n DELETE_ALARM_POLICY_REQUEST: 16,\n SET_ALARM_CONFIG_INFO_REQUEST: 17\n};\n\n/**\n * @return {proto.ramius.OperationRequest.OperationRequestCase}\n */\nproto.ramius.OperationRequest.prototype.getOperationRequestCase = function() {\n return /** @type {proto.ramius.OperationRequest.OperationRequestCase} */(jspb.Message.computeOneofCase(this, proto.ramius.OperationRequest.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OperationRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OperationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OperationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n setPrefixRequest: (f = msg.getSetPrefixRequest()) && proto.ramius.PrefixWithoutAsn.toObject(includeInstance, f),\n deletePrefixRequest: (f = msg.getDeletePrefixRequest()) && proto.ramius.PrefixWithoutAsn.toObject(includeInstance, f),\n setGroupRequest: (f = msg.getSetGroupRequest()) && proto.ramius.Group.toObject(includeInstance, f),\n deleteGroupRequest: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n setNotificationEndpointRequest: (f = msg.getSetNotificationEndpointRequest()) && proto.ramius.Endpoint.toObject(includeInstance, f),\n deleteNotificationEndpointRequest: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n setAsnRequest: (f = msg.getSetAsnRequest()) && proto.ramius.Asn.toObject(includeInstance, f),\n deleteAsnRequest: (f = msg.getDeleteAsnRequest()) && proto.ramius.Asn.toObject(includeInstance, f),\n setReportRequest: (f = msg.getSetReportRequest()) && proto.ramius.Report.toObject(includeInstance, f),\n deleteReportRequest: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n deleteBgpPeerConfigRequest: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n setBgpPeerConfigRequest: (f = msg.getSetBgpPeerConfigRequest()) && proto.ramius.BgpPeerInfo.toObject(includeInstance, f),\n setAlarmPolicyRequest: (f = msg.getSetAlarmPolicyRequest()) && proto.ramius.AlarmPolicy.toObject(includeInstance, f),\n deleteAlarmPolicyRequest: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n setAlarmConfigInfoRequest: (f = msg.getSetAlarmConfigInfoRequest()) && proto.ramius.AlarmConfigInfo.toObject(includeInstance, f),\n oCreat: jspb.Message.getBooleanFieldWithDefault(msg, 20, false),\n oExcl: jspb.Message.getBooleanFieldWithDefault(msg, 21, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OperationRequest}\n */\nproto.ramius.OperationRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OperationRequest;\n return proto.ramius.OperationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OperationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OperationRequest}\n */\nproto.ramius.OperationRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.setSetPrefixRequest(value);\n break;\n case 2:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.setDeletePrefixRequest(value);\n break;\n case 3:\n var value = new proto.ramius.Group;\n reader.readMessage(value,proto.ramius.Group.deserializeBinaryFromReader);\n msg.setSetGroupRequest(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeleteGroupRequest(value);\n break;\n case 6:\n var value = new proto.ramius.Endpoint;\n reader.readMessage(value,proto.ramius.Endpoint.deserializeBinaryFromReader);\n msg.setSetNotificationEndpointRequest(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeleteNotificationEndpointRequest(value);\n break;\n case 8:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.setSetAsnRequest(value);\n break;\n case 9:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.setDeleteAsnRequest(value);\n break;\n case 10:\n var value = new proto.ramius.Report;\n reader.readMessage(value,proto.ramius.Report.deserializeBinaryFromReader);\n msg.setSetReportRequest(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeleteReportRequest(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeleteBgpPeerConfigRequest(value);\n break;\n case 14:\n var value = new proto.ramius.BgpPeerInfo;\n reader.readMessage(value,proto.ramius.BgpPeerInfo.deserializeBinaryFromReader);\n msg.setSetBgpPeerConfigRequest(value);\n break;\n case 15:\n var value = new proto.ramius.AlarmPolicy;\n reader.readMessage(value,proto.ramius.AlarmPolicy.deserializeBinaryFromReader);\n msg.setSetAlarmPolicyRequest(value);\n break;\n case 16:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeleteAlarmPolicyRequest(value);\n break;\n case 17:\n var value = new proto.ramius.AlarmConfigInfo;\n reader.readMessage(value,proto.ramius.AlarmConfigInfo.deserializeBinaryFromReader);\n msg.setSetAlarmConfigInfoRequest(value);\n break;\n case 20:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOCreat(value);\n break;\n case 21:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOExcl(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OperationRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OperationRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OperationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSetPrefixRequest();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n f = message.getDeletePrefixRequest();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n f = message.getSetGroupRequest();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.Group.serializeBinaryToWriter\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 4));\n if (f != null) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getSetNotificationEndpointRequest();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.Endpoint.serializeBinaryToWriter\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 7));\n if (f != null) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getSetAsnRequest();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n f = message.getDeleteAsnRequest();\n if (f != null) {\n writer.writeMessage(\n 9,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n f = message.getSetReportRequest();\n if (f != null) {\n writer.writeMessage(\n 10,\n f,\n proto.ramius.Report.serializeBinaryToWriter\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 11));\n if (f != null) {\n writer.writeString(\n 11,\n f\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 13));\n if (f != null) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getSetBgpPeerConfigRequest();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n proto.ramius.BgpPeerInfo.serializeBinaryToWriter\n );\n }\n f = message.getSetAlarmPolicyRequest();\n if (f != null) {\n writer.writeMessage(\n 15,\n f,\n proto.ramius.AlarmPolicy.serializeBinaryToWriter\n );\n }\n f = /** @type {string} */ (jspb.Message.getField(message, 16));\n if (f != null) {\n writer.writeString(\n 16,\n f\n );\n }\n f = message.getSetAlarmConfigInfoRequest();\n if (f != null) {\n writer.writeMessage(\n 17,\n f,\n proto.ramius.AlarmConfigInfo.serializeBinaryToWriter\n );\n }\n f = message.getOCreat();\n if (f) {\n writer.writeBool(\n 20,\n f\n );\n }\n f = message.getOExcl();\n if (f) {\n writer.writeBool(\n 21,\n f\n );\n }\n};\n\n\n/**\n * optional PrefixWithoutAsn set_prefix_request = 1;\n * @return {?proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.OperationRequest.prototype.getSetPrefixRequest = function() {\n return /** @type{?proto.ramius.PrefixWithoutAsn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixWithoutAsn, 1));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixWithoutAsn|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetPrefixRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 1, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetPrefixRequest = function() {\n return this.setSetPrefixRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetPrefixRequest = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional PrefixWithoutAsn delete_prefix_request = 2;\n * @return {?proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.OperationRequest.prototype.getDeletePrefixRequest = function() {\n return /** @type{?proto.ramius.PrefixWithoutAsn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixWithoutAsn, 2));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixWithoutAsn|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setDeletePrefixRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeletePrefixRequest = function() {\n return this.setDeletePrefixRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeletePrefixRequest = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional Group set_group_request = 3;\n * @return {?proto.ramius.Group}\n */\nproto.ramius.OperationRequest.prototype.getSetGroupRequest = function() {\n return /** @type{?proto.ramius.Group} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Group, 3));\n};\n\n\n/**\n * @param {?proto.ramius.Group|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetGroupRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 3, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetGroupRequest = function() {\n return this.setSetGroupRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetGroupRequest = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string delete_group_request = 4;\n * @return {string}\n */\nproto.ramius.OperationRequest.prototype.getDeleteGroupRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setDeleteGroupRequest = function(value) {\n return jspb.Message.setOneofField(this, 4, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteGroupRequest = function() {\n return jspb.Message.setOneofField(this, 4, proto.ramius.OperationRequest.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteGroupRequest = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional Endpoint set_notification_endpoint_request = 6;\n * @return {?proto.ramius.Endpoint}\n */\nproto.ramius.OperationRequest.prototype.getSetNotificationEndpointRequest = function() {\n return /** @type{?proto.ramius.Endpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Endpoint, 6));\n};\n\n\n/**\n * @param {?proto.ramius.Endpoint|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetNotificationEndpointRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 6, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetNotificationEndpointRequest = function() {\n return this.setSetNotificationEndpointRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetNotificationEndpointRequest = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional string delete_notification_endpoint_request = 7;\n * @return {string}\n */\nproto.ramius.OperationRequest.prototype.getDeleteNotificationEndpointRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setDeleteNotificationEndpointRequest = function(value) {\n return jspb.Message.setOneofField(this, 7, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteNotificationEndpointRequest = function() {\n return jspb.Message.setOneofField(this, 7, proto.ramius.OperationRequest.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteNotificationEndpointRequest = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional Asn set_asn_request = 8;\n * @return {?proto.ramius.Asn}\n */\nproto.ramius.OperationRequest.prototype.getSetAsnRequest = function() {\n return /** @type{?proto.ramius.Asn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Asn, 8));\n};\n\n\n/**\n * @param {?proto.ramius.Asn|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetAsnRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 8, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetAsnRequest = function() {\n return this.setSetAsnRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetAsnRequest = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional Asn delete_asn_request = 9;\n * @return {?proto.ramius.Asn}\n */\nproto.ramius.OperationRequest.prototype.getDeleteAsnRequest = function() {\n return /** @type{?proto.ramius.Asn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Asn, 9));\n};\n\n\n/**\n * @param {?proto.ramius.Asn|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setDeleteAsnRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 9, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteAsnRequest = function() {\n return this.setDeleteAsnRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteAsnRequest = function() {\n return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional Report set_report_request = 10;\n * @return {?proto.ramius.Report}\n */\nproto.ramius.OperationRequest.prototype.getSetReportRequest = function() {\n return /** @type{?proto.ramius.Report} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Report, 10));\n};\n\n\n/**\n * @param {?proto.ramius.Report|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetReportRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 10, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetReportRequest = function() {\n return this.setSetReportRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetReportRequest = function() {\n return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional string delete_report_request = 11;\n * @return {string}\n */\nproto.ramius.OperationRequest.prototype.getDeleteReportRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setDeleteReportRequest = function(value) {\n return jspb.Message.setOneofField(this, 11, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteReportRequest = function() {\n return jspb.Message.setOneofField(this, 11, proto.ramius.OperationRequest.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteReportRequest = function() {\n return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional string delete_bgp_peer_config_request = 13;\n * @return {string}\n */\nproto.ramius.OperationRequest.prototype.getDeleteBgpPeerConfigRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setDeleteBgpPeerConfigRequest = function(value) {\n return jspb.Message.setOneofField(this, 13, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteBgpPeerConfigRequest = function() {\n return jspb.Message.setOneofField(this, 13, proto.ramius.OperationRequest.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteBgpPeerConfigRequest = function() {\n return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional BgpPeerInfo set_bgp_peer_config_request = 14;\n * @return {?proto.ramius.BgpPeerInfo}\n */\nproto.ramius.OperationRequest.prototype.getSetBgpPeerConfigRequest = function() {\n return /** @type{?proto.ramius.BgpPeerInfo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.BgpPeerInfo, 14));\n};\n\n\n/**\n * @param {?proto.ramius.BgpPeerInfo|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetBgpPeerConfigRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 14, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetBgpPeerConfigRequest = function() {\n return this.setSetBgpPeerConfigRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetBgpPeerConfigRequest = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional AlarmPolicy set_alarm_policy_request = 15;\n * @return {?proto.ramius.AlarmPolicy}\n */\nproto.ramius.OperationRequest.prototype.getSetAlarmPolicyRequest = function() {\n return /** @type{?proto.ramius.AlarmPolicy} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmPolicy, 15));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmPolicy|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetAlarmPolicyRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 15, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetAlarmPolicyRequest = function() {\n return this.setSetAlarmPolicyRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetAlarmPolicyRequest = function() {\n return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional string delete_alarm_policy_request = 16;\n * @return {string}\n */\nproto.ramius.OperationRequest.prototype.getDeleteAlarmPolicyRequest = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setDeleteAlarmPolicyRequest = function(value) {\n return jspb.Message.setOneofField(this, 16, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearDeleteAlarmPolicyRequest = function() {\n return jspb.Message.setOneofField(this, 16, proto.ramius.OperationRequest.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasDeleteAlarmPolicyRequest = function() {\n return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional AlarmConfigInfo set_alarm_config_info_request = 17;\n * @return {?proto.ramius.AlarmConfigInfo}\n */\nproto.ramius.OperationRequest.prototype.getSetAlarmConfigInfoRequest = function() {\n return /** @type{?proto.ramius.AlarmConfigInfo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmConfigInfo, 17));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmConfigInfo|undefined} value\n * @return {!proto.ramius.OperationRequest} returns this\n*/\nproto.ramius.OperationRequest.prototype.setSetAlarmConfigInfoRequest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 17, proto.ramius.OperationRequest.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.clearSetAlarmConfigInfoRequest = function() {\n return this.setSetAlarmConfigInfoRequest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.hasSetAlarmConfigInfoRequest = function() {\n return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional bool o_creat = 20;\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.getOCreat = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 20, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setOCreat = function(value) {\n return jspb.Message.setProto3BooleanField(this, 20, value);\n};\n\n\n/**\n * optional bool o_excl = 21;\n * @return {boolean}\n */\nproto.ramius.OperationRequest.prototype.getOExcl = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 21, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OperationRequest} returns this\n */\nproto.ramius.OperationRequest.prototype.setOExcl = function(value) {\n return jspb.Message.setProto3BooleanField(this, 21, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OperationsRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OperationsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OperationsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OperationsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n operationsList: jspb.Message.toObjectList(msg.getOperationsList(),\n proto.ramius.OperationRequest.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OperationsRequest}\n */\nproto.ramius.OperationsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OperationsRequest;\n return proto.ramius.OperationsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OperationsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OperationsRequest}\n */\nproto.ramius.OperationsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.OperationRequest;\n reader.readMessage(value,proto.ramius.OperationRequest.deserializeBinaryFromReader);\n msg.addOperations(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OperationsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OperationsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OperationsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOperationsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.OperationRequest.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated OperationRequest operations = 1;\n * @return {!Array}\n */\nproto.ramius.OperationsRequest.prototype.getOperationsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.OperationRequest, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OperationsRequest} returns this\n*/\nproto.ramius.OperationsRequest.prototype.setOperationsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.OperationRequest=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.OperationRequest}\n */\nproto.ramius.OperationsRequest.prototype.addOperations = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.OperationRequest, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OperationsRequest} returns this\n */\nproto.ramius.OperationsRequest.prototype.clearOperationsList = function() {\n return this.setOperationsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ProvisionRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ProvisionRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ProvisionRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProvisionRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n operations: (f = msg.getOperations()) && proto.ramius.OperationsRequest.toObject(includeInstance, f),\n dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n comment: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ProvisionRequest}\n */\nproto.ramius.ProvisionRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ProvisionRequest;\n return proto.ramius.ProvisionRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ProvisionRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ProvisionRequest}\n */\nproto.ramius.ProvisionRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.OperationsRequest;\n reader.readMessage(value,proto.ramius.OperationsRequest.deserializeBinaryFromReader);\n msg.setOperations(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryRun(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setComment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ProvisionRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ProvisionRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ProvisionRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProvisionRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOperations();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.OperationsRequest.serializeBinaryToWriter\n );\n }\n f = message.getDryRun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getComment();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional OperationsRequest operations = 1;\n * @return {?proto.ramius.OperationsRequest}\n */\nproto.ramius.ProvisionRequest.prototype.getOperations = function() {\n return /** @type{?proto.ramius.OperationsRequest} */ (\n jspb.Message.getWrapperField(this, proto.ramius.OperationsRequest, 1));\n};\n\n\n/**\n * @param {?proto.ramius.OperationsRequest|undefined} value\n * @return {!proto.ramius.ProvisionRequest} returns this\n*/\nproto.ramius.ProvisionRequest.prototype.setOperations = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ProvisionRequest} returns this\n */\nproto.ramius.ProvisionRequest.prototype.clearOperations = function() {\n return this.setOperations(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ProvisionRequest.prototype.hasOperations = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional bool dry_run = 2;\n * @return {boolean}\n */\nproto.ramius.ProvisionRequest.prototype.getDryRun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ProvisionRequest} returns this\n */\nproto.ramius.ProvisionRequest.prototype.setDryRun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string comment = 4;\n * @return {string}\n */\nproto.ramius.ProvisionRequest.prototype.getComment = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ProvisionRequest} returns this\n */\nproto.ramius.ProvisionRequest.prototype.setComment = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.OperationResponse.oneofGroups_ = [[1,2,6,7,8,9,10,11,12,13,14,15,16]];\n\n/**\n * @enum {number}\n */\nproto.ramius.OperationResponse.OperationResponseCase = {\n OPERATION_RESPONSE_NOT_SET: 0,\n SET_PREFIX_RESPONSE: 1,\n DELETE_PREFIX_RESPONSE: 2,\n SET_NOTIFICATION_ENDPOINT_RESPONSE: 6,\n DEL_NOTIFICATION_ENDPOINT_RESPONSE: 7,\n SET_ASN_RESPONSE: 8,\n DELETE_ASN_RESPONSE: 9,\n SET_REPORT_RESPONSE: 10,\n DELETE_REPORT_RESPONSE: 11,\n SET_BGP_PEER_CONFIG_RESPONSE: 12,\n DELETE_BGP_PEER_CONFIG_RESPONSE: 13,\n SET_ALARM_POLICY_RESPONSE: 14,\n DELETE_ALARM_POLICY_RESPONSE: 15,\n SET_ALARM_CONFIG_INFO_RESPONSE: 16\n};\n\n/**\n * @return {proto.ramius.OperationResponse.OperationResponseCase}\n */\nproto.ramius.OperationResponse.prototype.getOperationResponseCase = function() {\n return /** @type {proto.ramius.OperationResponse.OperationResponseCase} */(jspb.Message.computeOneofCase(this, proto.ramius.OperationResponse.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OperationResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OperationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OperationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n setPrefixResponse: (f = msg.getSetPrefixResponse()) && proto.ramius.SetPrefixResponse.toObject(includeInstance, f),\n deletePrefixResponse: (f = msg.getDeletePrefixResponse()) && proto.ramius.DeletePrefixResponse.toObject(includeInstance, f),\n setNotificationEndpointResponse: (f = msg.getSetNotificationEndpointResponse()) && proto.ramius.SetNotificationEndpointResponse.toObject(includeInstance, f),\n delNotificationEndpointResponse: (f = msg.getDelNotificationEndpointResponse()) && proto.ramius.DeleteNotificationEndpointResponse.toObject(includeInstance, f),\n setAsnResponse: (f = msg.getSetAsnResponse()) && proto.ramius.SetAsnResponse.toObject(includeInstance, f),\n deleteAsnResponse: (f = msg.getDeleteAsnResponse()) && proto.ramius.DeleteAsnResponse.toObject(includeInstance, f),\n setReportResponse: (f = msg.getSetReportResponse()) && proto.ramius.SetReportResponse.toObject(includeInstance, f),\n deleteReportResponse: (f = msg.getDeleteReportResponse()) && proto.ramius.DeleteReportResponse.toObject(includeInstance, f),\n setBgpPeerConfigResponse: (f = msg.getSetBgpPeerConfigResponse()) && proto.ramius.SetBgpPeerConfigResponse.toObject(includeInstance, f),\n deleteBgpPeerConfigResponse: (f = msg.getDeleteBgpPeerConfigResponse()) && proto.ramius.DeleteBgpPeerConfigResponse.toObject(includeInstance, f),\n setAlarmPolicyResponse: (f = msg.getSetAlarmPolicyResponse()) && proto.ramius.SetAlarmPolicyResponse.toObject(includeInstance, f),\n deleteAlarmPolicyResponse: (f = msg.getDeleteAlarmPolicyResponse()) && proto.ramius.DeleteAlarmPolicyResponse.toObject(includeInstance, f),\n setAlarmConfigInfoResponse: (f = msg.getSetAlarmConfigInfoResponse()) && proto.ramius.AlarmConfigInfoResponse.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OperationResponse}\n */\nproto.ramius.OperationResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OperationResponse;\n return proto.ramius.OperationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OperationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OperationResponse}\n */\nproto.ramius.OperationResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.SetPrefixResponse;\n reader.readMessage(value,proto.ramius.SetPrefixResponse.deserializeBinaryFromReader);\n msg.setSetPrefixResponse(value);\n break;\n case 2:\n var value = new proto.ramius.DeletePrefixResponse;\n reader.readMessage(value,proto.ramius.DeletePrefixResponse.deserializeBinaryFromReader);\n msg.setDeletePrefixResponse(value);\n break;\n case 6:\n var value = new proto.ramius.SetNotificationEndpointResponse;\n reader.readMessage(value,proto.ramius.SetNotificationEndpointResponse.deserializeBinaryFromReader);\n msg.setSetNotificationEndpointResponse(value);\n break;\n case 7:\n var value = new proto.ramius.DeleteNotificationEndpointResponse;\n reader.readMessage(value,proto.ramius.DeleteNotificationEndpointResponse.deserializeBinaryFromReader);\n msg.setDelNotificationEndpointResponse(value);\n break;\n case 8:\n var value = new proto.ramius.SetAsnResponse;\n reader.readMessage(value,proto.ramius.SetAsnResponse.deserializeBinaryFromReader);\n msg.setSetAsnResponse(value);\n break;\n case 9:\n var value = new proto.ramius.DeleteAsnResponse;\n reader.readMessage(value,proto.ramius.DeleteAsnResponse.deserializeBinaryFromReader);\n msg.setDeleteAsnResponse(value);\n break;\n case 10:\n var value = new proto.ramius.SetReportResponse;\n reader.readMessage(value,proto.ramius.SetReportResponse.deserializeBinaryFromReader);\n msg.setSetReportResponse(value);\n break;\n case 11:\n var value = new proto.ramius.DeleteReportResponse;\n reader.readMessage(value,proto.ramius.DeleteReportResponse.deserializeBinaryFromReader);\n msg.setDeleteReportResponse(value);\n break;\n case 12:\n var value = new proto.ramius.SetBgpPeerConfigResponse;\n reader.readMessage(value,proto.ramius.SetBgpPeerConfigResponse.deserializeBinaryFromReader);\n msg.setSetBgpPeerConfigResponse(value);\n break;\n case 13:\n var value = new proto.ramius.DeleteBgpPeerConfigResponse;\n reader.readMessage(value,proto.ramius.DeleteBgpPeerConfigResponse.deserializeBinaryFromReader);\n msg.setDeleteBgpPeerConfigResponse(value);\n break;\n case 14:\n var value = new proto.ramius.SetAlarmPolicyResponse;\n reader.readMessage(value,proto.ramius.SetAlarmPolicyResponse.deserializeBinaryFromReader);\n msg.setSetAlarmPolicyResponse(value);\n break;\n case 15:\n var value = new proto.ramius.DeleteAlarmPolicyResponse;\n reader.readMessage(value,proto.ramius.DeleteAlarmPolicyResponse.deserializeBinaryFromReader);\n msg.setDeleteAlarmPolicyResponse(value);\n break;\n case 16:\n var value = new proto.ramius.AlarmConfigInfoResponse;\n reader.readMessage(value,proto.ramius.AlarmConfigInfoResponse.deserializeBinaryFromReader);\n msg.setSetAlarmConfigInfoResponse(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OperationResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OperationResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OperationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OperationResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSetPrefixResponse();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.SetPrefixResponse.serializeBinaryToWriter\n );\n }\n f = message.getDeletePrefixResponse();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.DeletePrefixResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetNotificationEndpointResponse();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.SetNotificationEndpointResponse.serializeBinaryToWriter\n );\n }\n f = message.getDelNotificationEndpointResponse();\n if (f != null) {\n writer.writeMessage(\n 7,\n f,\n proto.ramius.DeleteNotificationEndpointResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetAsnResponse();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n proto.ramius.SetAsnResponse.serializeBinaryToWriter\n );\n }\n f = message.getDeleteAsnResponse();\n if (f != null) {\n writer.writeMessage(\n 9,\n f,\n proto.ramius.DeleteAsnResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetReportResponse();\n if (f != null) {\n writer.writeMessage(\n 10,\n f,\n proto.ramius.SetReportResponse.serializeBinaryToWriter\n );\n }\n f = message.getDeleteReportResponse();\n if (f != null) {\n writer.writeMessage(\n 11,\n f,\n proto.ramius.DeleteReportResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetBgpPeerConfigResponse();\n if (f != null) {\n writer.writeMessage(\n 12,\n f,\n proto.ramius.SetBgpPeerConfigResponse.serializeBinaryToWriter\n );\n }\n f = message.getDeleteBgpPeerConfigResponse();\n if (f != null) {\n writer.writeMessage(\n 13,\n f,\n proto.ramius.DeleteBgpPeerConfigResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetAlarmPolicyResponse();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n proto.ramius.SetAlarmPolicyResponse.serializeBinaryToWriter\n );\n }\n f = message.getDeleteAlarmPolicyResponse();\n if (f != null) {\n writer.writeMessage(\n 15,\n f,\n proto.ramius.DeleteAlarmPolicyResponse.serializeBinaryToWriter\n );\n }\n f = message.getSetAlarmConfigInfoResponse();\n if (f != null) {\n writer.writeMessage(\n 16,\n f,\n proto.ramius.AlarmConfigInfoResponse.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional SetPrefixResponse set_prefix_response = 1;\n * @return {?proto.ramius.SetPrefixResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetPrefixResponse = function() {\n return /** @type{?proto.ramius.SetPrefixResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetPrefixResponse, 1));\n};\n\n\n/**\n * @param {?proto.ramius.SetPrefixResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetPrefixResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 1, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetPrefixResponse = function() {\n return this.setSetPrefixResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetPrefixResponse = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional DeletePrefixResponse delete_prefix_response = 2;\n * @return {?proto.ramius.DeletePrefixResponse}\n */\nproto.ramius.OperationResponse.prototype.getDeletePrefixResponse = function() {\n return /** @type{?proto.ramius.DeletePrefixResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeletePrefixResponse, 2));\n};\n\n\n/**\n * @param {?proto.ramius.DeletePrefixResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDeletePrefixResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDeletePrefixResponse = function() {\n return this.setDeletePrefixResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDeletePrefixResponse = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional SetNotificationEndpointResponse set_notification_endpoint_response = 6;\n * @return {?proto.ramius.SetNotificationEndpointResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetNotificationEndpointResponse = function() {\n return /** @type{?proto.ramius.SetNotificationEndpointResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetNotificationEndpointResponse, 6));\n};\n\n\n/**\n * @param {?proto.ramius.SetNotificationEndpointResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetNotificationEndpointResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 6, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetNotificationEndpointResponse = function() {\n return this.setSetNotificationEndpointResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetNotificationEndpointResponse = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional DeleteNotificationEndpointResponse del_notification_endpoint_response = 7;\n * @return {?proto.ramius.DeleteNotificationEndpointResponse}\n */\nproto.ramius.OperationResponse.prototype.getDelNotificationEndpointResponse = function() {\n return /** @type{?proto.ramius.DeleteNotificationEndpointResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeleteNotificationEndpointResponse, 7));\n};\n\n\n/**\n * @param {?proto.ramius.DeleteNotificationEndpointResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDelNotificationEndpointResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 7, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDelNotificationEndpointResponse = function() {\n return this.setDelNotificationEndpointResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDelNotificationEndpointResponse = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional SetAsnResponse set_asn_response = 8;\n * @return {?proto.ramius.SetAsnResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetAsnResponse = function() {\n return /** @type{?proto.ramius.SetAsnResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetAsnResponse, 8));\n};\n\n\n/**\n * @param {?proto.ramius.SetAsnResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetAsnResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 8, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetAsnResponse = function() {\n return this.setSetAsnResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetAsnResponse = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional DeleteAsnResponse delete_asn_response = 9;\n * @return {?proto.ramius.DeleteAsnResponse}\n */\nproto.ramius.OperationResponse.prototype.getDeleteAsnResponse = function() {\n return /** @type{?proto.ramius.DeleteAsnResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeleteAsnResponse, 9));\n};\n\n\n/**\n * @param {?proto.ramius.DeleteAsnResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDeleteAsnResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 9, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDeleteAsnResponse = function() {\n return this.setDeleteAsnResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDeleteAsnResponse = function() {\n return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional SetReportResponse set_report_response = 10;\n * @return {?proto.ramius.SetReportResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetReportResponse = function() {\n return /** @type{?proto.ramius.SetReportResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetReportResponse, 10));\n};\n\n\n/**\n * @param {?proto.ramius.SetReportResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetReportResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 10, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetReportResponse = function() {\n return this.setSetReportResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetReportResponse = function() {\n return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional DeleteReportResponse delete_report_response = 11;\n * @return {?proto.ramius.DeleteReportResponse}\n */\nproto.ramius.OperationResponse.prototype.getDeleteReportResponse = function() {\n return /** @type{?proto.ramius.DeleteReportResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeleteReportResponse, 11));\n};\n\n\n/**\n * @param {?proto.ramius.DeleteReportResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDeleteReportResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 11, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDeleteReportResponse = function() {\n return this.setDeleteReportResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDeleteReportResponse = function() {\n return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional SetBgpPeerConfigResponse set_bgp_peer_config_response = 12;\n * @return {?proto.ramius.SetBgpPeerConfigResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetBgpPeerConfigResponse = function() {\n return /** @type{?proto.ramius.SetBgpPeerConfigResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetBgpPeerConfigResponse, 12));\n};\n\n\n/**\n * @param {?proto.ramius.SetBgpPeerConfigResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetBgpPeerConfigResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 12, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetBgpPeerConfigResponse = function() {\n return this.setSetBgpPeerConfigResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetBgpPeerConfigResponse = function() {\n return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional DeleteBgpPeerConfigResponse delete_bgp_peer_config_response = 13;\n * @return {?proto.ramius.DeleteBgpPeerConfigResponse}\n */\nproto.ramius.OperationResponse.prototype.getDeleteBgpPeerConfigResponse = function() {\n return /** @type{?proto.ramius.DeleteBgpPeerConfigResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeleteBgpPeerConfigResponse, 13));\n};\n\n\n/**\n * @param {?proto.ramius.DeleteBgpPeerConfigResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDeleteBgpPeerConfigResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 13, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDeleteBgpPeerConfigResponse = function() {\n return this.setDeleteBgpPeerConfigResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDeleteBgpPeerConfigResponse = function() {\n return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional SetAlarmPolicyResponse set_alarm_policy_response = 14;\n * @return {?proto.ramius.SetAlarmPolicyResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetAlarmPolicyResponse = function() {\n return /** @type{?proto.ramius.SetAlarmPolicyResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SetAlarmPolicyResponse, 14));\n};\n\n\n/**\n * @param {?proto.ramius.SetAlarmPolicyResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetAlarmPolicyResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 14, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetAlarmPolicyResponse = function() {\n return this.setSetAlarmPolicyResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetAlarmPolicyResponse = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional DeleteAlarmPolicyResponse delete_alarm_policy_response = 15;\n * @return {?proto.ramius.DeleteAlarmPolicyResponse}\n */\nproto.ramius.OperationResponse.prototype.getDeleteAlarmPolicyResponse = function() {\n return /** @type{?proto.ramius.DeleteAlarmPolicyResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeleteAlarmPolicyResponse, 15));\n};\n\n\n/**\n * @param {?proto.ramius.DeleteAlarmPolicyResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setDeleteAlarmPolicyResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 15, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearDeleteAlarmPolicyResponse = function() {\n return this.setDeleteAlarmPolicyResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasDeleteAlarmPolicyResponse = function() {\n return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional AlarmConfigInfoResponse set_alarm_config_info_response = 16;\n * @return {?proto.ramius.AlarmConfigInfoResponse}\n */\nproto.ramius.OperationResponse.prototype.getSetAlarmConfigInfoResponse = function() {\n return /** @type{?proto.ramius.AlarmConfigInfoResponse} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmConfigInfoResponse, 16));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmConfigInfoResponse|undefined} value\n * @return {!proto.ramius.OperationResponse} returns this\n*/\nproto.ramius.OperationResponse.prototype.setSetAlarmConfigInfoResponse = function(value) {\n return jspb.Message.setOneofWrapperField(this, 16, proto.ramius.OperationResponse.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OperationResponse} returns this\n */\nproto.ramius.OperationResponse.prototype.clearSetAlarmConfigInfoResponse = function() {\n return this.setSetAlarmConfigInfoResponse(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OperationResponse.prototype.hasSetAlarmConfigInfoResponse = function() {\n return jspb.Message.getField(this, 16) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetPrefixResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetPrefixResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetPrefixResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetPrefixResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n details: (f = msg.getDetails()) && proto.ramius.PrefixWithoutAsn.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetPrefixResponse}\n */\nproto.ramius.SetPrefixResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetPrefixResponse;\n return proto.ramius.SetPrefixResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetPrefixResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetPrefixResponse}\n */\nproto.ramius.SetPrefixResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 2:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.setDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetPrefixResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetPrefixResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetPrefixResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetPrefixResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDetails();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.SetPrefixResponse.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetPrefixResponse} returns this\n */\nproto.ramius.SetPrefixResponse.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional PrefixWithoutAsn details = 2;\n * @return {?proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.SetPrefixResponse.prototype.getDetails = function() {\n return /** @type{?proto.ramius.PrefixWithoutAsn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixWithoutAsn, 2));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixWithoutAsn|undefined} value\n * @return {!proto.ramius.SetPrefixResponse} returns this\n*/\nproto.ramius.SetPrefixResponse.prototype.setDetails = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SetPrefixResponse} returns this\n */\nproto.ramius.SetPrefixResponse.prototype.clearDetails = function() {\n return this.setDetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SetPrefixResponse.prototype.hasDetails = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeletePrefixResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeletePrefixResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeletePrefixResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeletePrefixResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeletePrefixResponse}\n */\nproto.ramius.DeletePrefixResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeletePrefixResponse;\n return proto.ramius.DeletePrefixResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeletePrefixResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeletePrefixResponse}\n */\nproto.ramius.DeletePrefixResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeletePrefixResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeletePrefixResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeletePrefixResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeletePrefixResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.DeletePrefixResponse.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeletePrefixResponse} returns this\n */\nproto.ramius.DeletePrefixResponse.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetAlarmPolicyResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetAlarmPolicyResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetAlarmPolicyResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n policyId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n details: (f = msg.getDetails()) && proto.ramius.AlarmPolicy.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetAlarmPolicyResponse}\n */\nproto.ramius.SetAlarmPolicyResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetAlarmPolicyResponse;\n return proto.ramius.SetAlarmPolicyResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetAlarmPolicyResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetAlarmPolicyResponse}\n */\nproto.ramius.SetAlarmPolicyResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 2:\n var value = new proto.ramius.AlarmPolicy;\n reader.readMessage(value,proto.ramius.AlarmPolicy.deserializeBinaryFromReader);\n msg.setDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetAlarmPolicyResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetAlarmPolicyResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetAlarmPolicyResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDetails();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.AlarmPolicy.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string policy_id = 1;\n * @return {string}\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetAlarmPolicyResponse} returns this\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional AlarmPolicy details = 2;\n * @return {?proto.ramius.AlarmPolicy}\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.getDetails = function() {\n return /** @type{?proto.ramius.AlarmPolicy} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmPolicy, 2));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmPolicy|undefined} value\n * @return {!proto.ramius.SetAlarmPolicyResponse} returns this\n*/\nproto.ramius.SetAlarmPolicyResponse.prototype.setDetails = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SetAlarmPolicyResponse} returns this\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.clearDetails = function() {\n return this.setDetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SetAlarmPolicyResponse.prototype.hasDetails = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteAlarmPolicyResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteAlarmPolicyResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteAlarmPolicyResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteAlarmPolicyResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n policyId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteAlarmPolicyResponse}\n */\nproto.ramius.DeleteAlarmPolicyResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteAlarmPolicyResponse;\n return proto.ramius.DeleteAlarmPolicyResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteAlarmPolicyResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteAlarmPolicyResponse}\n */\nproto.ramius.DeleteAlarmPolicyResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteAlarmPolicyResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteAlarmPolicyResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteAlarmPolicyResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteAlarmPolicyResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string policy_id = 1;\n * @return {string}\n */\nproto.ramius.DeleteAlarmPolicyResponse.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteAlarmPolicyResponse} returns this\n */\nproto.ramius.DeleteAlarmPolicyResponse.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetNotificationEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetNotificationEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetNotificationEndpointResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n sendConfirmation: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n confirmationStatus: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n details: (f = msg.getDetails()) && proto.ramius.Endpoint.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetNotificationEndpointResponse}\n */\nproto.ramius.SetNotificationEndpointResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetNotificationEndpointResponse;\n return proto.ramius.SetNotificationEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetNotificationEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetNotificationEndpointResponse}\n */\nproto.ramius.SetNotificationEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSendConfirmation(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfirmationStatus(value);\n break;\n case 5:\n var value = new proto.ramius.Endpoint;\n reader.readMessage(value,proto.ramius.Endpoint.deserializeBinaryFromReader);\n msg.setDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetNotificationEndpointResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetNotificationEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetNotificationEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getSendConfirmation();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getConfirmationStatus();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getDetails();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.ramius.Endpoint.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string euuid = 1;\n * @return {string}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetNotificationEndpointResponse} returns this\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool send_confirmation = 3;\n * @return {boolean}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.getSendConfirmation = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SetNotificationEndpointResponse} returns this\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.setSendConfirmation = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional string confirmation_status = 4;\n * @return {string}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.getConfirmationStatus = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetNotificationEndpointResponse} returns this\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.setConfirmationStatus = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Endpoint details = 5;\n * @return {?proto.ramius.Endpoint}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.getDetails = function() {\n return /** @type{?proto.ramius.Endpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Endpoint, 5));\n};\n\n\n/**\n * @param {?proto.ramius.Endpoint|undefined} value\n * @return {!proto.ramius.SetNotificationEndpointResponse} returns this\n*/\nproto.ramius.SetNotificationEndpointResponse.prototype.setDetails = function(value) {\n return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SetNotificationEndpointResponse} returns this\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.clearDetails = function() {\n return this.setDetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SetNotificationEndpointResponse.prototype.hasDetails = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteNotificationEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteNotificationEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteNotificationEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteNotificationEndpointResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteNotificationEndpointResponse}\n */\nproto.ramius.DeleteNotificationEndpointResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteNotificationEndpointResponse;\n return proto.ramius.DeleteNotificationEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteNotificationEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteNotificationEndpointResponse}\n */\nproto.ramius.DeleteNotificationEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteNotificationEndpointResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteNotificationEndpointResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteNotificationEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteNotificationEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string euuid = 1;\n * @return {string}\n */\nproto.ramius.DeleteNotificationEndpointResponse.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteNotificationEndpointResponse} returns this\n */\nproto.ramius.DeleteNotificationEndpointResponse.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetAsnResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetAsnResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetAsnResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetAsnResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: jspb.Message.getFieldWithDefault(msg, 1, 0),\n details: (f = msg.getDetails()) && proto.ramius.Asn.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetAsnResponse}\n */\nproto.ramius.SetAsnResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetAsnResponse;\n return proto.ramius.SetAsnResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetAsnResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetAsnResponse}\n */\nproto.ramius.SetAsnResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 2:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.setDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetAsnResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetAsnResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetAsnResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetAsnResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getDetails();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional uint32 asn = 1;\n * @return {number}\n */\nproto.ramius.SetAsnResponse.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SetAsnResponse} returns this\n */\nproto.ramius.SetAsnResponse.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional Asn details = 2;\n * @return {?proto.ramius.Asn}\n */\nproto.ramius.SetAsnResponse.prototype.getDetails = function() {\n return /** @type{?proto.ramius.Asn} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Asn, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Asn|undefined} value\n * @return {!proto.ramius.SetAsnResponse} returns this\n*/\nproto.ramius.SetAsnResponse.prototype.setDetails = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SetAsnResponse} returns this\n */\nproto.ramius.SetAsnResponse.prototype.clearDetails = function() {\n return this.setDetails(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SetAsnResponse.prototype.hasDetails = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteAsnResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteAsnResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteAsnResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteAsnResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteAsnResponse}\n */\nproto.ramius.DeleteAsnResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteAsnResponse;\n return proto.ramius.DeleteAsnResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteAsnResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteAsnResponse}\n */\nproto.ramius.DeleteAsnResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteAsnResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteAsnResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteAsnResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteAsnResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 asn = 1;\n * @return {number}\n */\nproto.ramius.DeleteAsnResponse.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeleteAsnResponse} returns this\n */\nproto.ramius.DeleteAsnResponse.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetReportResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetReportResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetReportResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetReportResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruuid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetReportResponse}\n */\nproto.ramius.SetReportResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetReportResponse;\n return proto.ramius.SetReportResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetReportResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetReportResponse}\n */\nproto.ramius.SetReportResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRuuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetReportResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetReportResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetReportResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetReportResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string ruuid = 1;\n * @return {string}\n */\nproto.ramius.SetReportResponse.prototype.getRuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetReportResponse} returns this\n */\nproto.ramius.SetReportResponse.prototype.setRuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteReportResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteReportResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteReportResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteReportResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruuid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteReportResponse}\n */\nproto.ramius.DeleteReportResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteReportResponse;\n return proto.ramius.DeleteReportResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteReportResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteReportResponse}\n */\nproto.ramius.DeleteReportResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRuuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteReportResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteReportResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteReportResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteReportResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string ruuid = 1;\n * @return {string}\n */\nproto.ramius.DeleteReportResponse.prototype.getRuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteReportResponse} returns this\n */\nproto.ramius.DeleteReportResponse.prototype.setRuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetBgpPeerConfigResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetBgpPeerConfigResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetBgpPeerConfigResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetBgpPeerConfigResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetBgpPeerConfigResponse}\n */\nproto.ramius.SetBgpPeerConfigResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetBgpPeerConfigResponse;\n return proto.ramius.SetBgpPeerConfigResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetBgpPeerConfigResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetBgpPeerConfigResponse}\n */\nproto.ramius.SetBgpPeerConfigResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetBgpPeerConfigResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetBgpPeerConfigResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetBgpPeerConfigResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetBgpPeerConfigResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.SetBgpPeerConfigResponse.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetBgpPeerConfigResponse} returns this\n */\nproto.ramius.SetBgpPeerConfigResponse.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteBgpPeerConfigResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteBgpPeerConfigResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteBgpPeerConfigResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteBgpPeerConfigResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuid: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteBgpPeerConfigResponse}\n */\nproto.ramius.DeleteBgpPeerConfigResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteBgpPeerConfigResponse;\n return proto.ramius.DeleteBgpPeerConfigResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteBgpPeerConfigResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteBgpPeerConfigResponse}\n */\nproto.ramius.DeleteBgpPeerConfigResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteBgpPeerConfigResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteBgpPeerConfigResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteBgpPeerConfigResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteBgpPeerConfigResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string puuid = 1;\n * @return {string}\n */\nproto.ramius.DeleteBgpPeerConfigResponse.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteBgpPeerConfigResponse} returns this\n */\nproto.ramius.DeleteBgpPeerConfigResponse.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ProvisionResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ProvisionResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ProvisionResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ProvisionResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProvisionResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n resultsList: jspb.Message.toObjectList(msg.getResultsList(),\n proto.ramius.OperationResponse.toObject, includeInstance),\n dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ProvisionResponse}\n */\nproto.ramius.ProvisionResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ProvisionResponse;\n return proto.ramius.ProvisionResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ProvisionResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ProvisionResponse}\n */\nproto.ramius.ProvisionResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.OperationResponse;\n reader.readMessage(value,proto.ramius.OperationResponse.deserializeBinaryFromReader);\n msg.addResults(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryRun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ProvisionResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ProvisionResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ProvisionResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProvisionResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getResultsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.OperationResponse.serializeBinaryToWriter\n );\n }\n f = message.getDryRun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated OperationResponse results = 1;\n * @return {!Array}\n */\nproto.ramius.ProvisionResponse.prototype.getResultsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.OperationResponse, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ProvisionResponse} returns this\n*/\nproto.ramius.ProvisionResponse.prototype.setResultsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.OperationResponse=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.OperationResponse}\n */\nproto.ramius.ProvisionResponse.prototype.addResults = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.OperationResponse, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ProvisionResponse} returns this\n */\nproto.ramius.ProvisionResponse.prototype.clearResultsList = function() {\n return this.setResultsList([]);\n};\n\n\n/**\n * optional bool dry_run = 2;\n * @return {boolean}\n */\nproto.ramius.ProvisionResponse.prototype.getDryRun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ProvisionResponse} returns this\n */\nproto.ramius.ProvisionResponse.prototype.setDryRun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmList.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmUuidList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmList}\n */\nproto.ramius.AlarmList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmList;\n return proto.ramius.AlarmList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmList}\n */\nproto.ramius.AlarmList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addAlarmUuid(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmUuidList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string alarm_uuid = 1;\n * @return {!Array}\n */\nproto.ramius.AlarmList.prototype.getAlarmUuidList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmList} returns this\n */\nproto.ramius.AlarmList.prototype.setAlarmUuidList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmList} returns this\n */\nproto.ramius.AlarmList.prototype.addAlarmUuid = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmList} returns this\n */\nproto.ramius.AlarmList.prototype.clearAlarmUuidList = function() {\n return this.setAlarmUuidList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ExportConfig.repeatedFields_ = [5,6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ExportConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ExportConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ExportConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesMap: (f = msg.getPrefixesMap()) ? f.toObject(includeInstance, proto.ramius.PrefixWithoutAsn.toObject) : [],\n alarmPoliciesMap: (f = msg.getAlarmPoliciesMap()) ? f.toObject(includeInstance, proto.ramius.Group.toObject) : [],\n notificationEndpointsMap: (f = msg.getNotificationEndpointsMap()) ? f.toObject(includeInstance, proto.ramius.Endpoint.toObject) : [],\n asnsMap: (f = msg.getAsnsMap()) ? f.toObject(includeInstance, proto.ramius.Asn.toObject) : [],\n bgpPeersList: jspb.Message.toObjectList(msg.getBgpPeersList(),\n proto.ramius.BgpPeerInfo.toObject, includeInstance),\n reportsList: jspb.Message.toObjectList(msg.getReportsList(),\n proto.ramius.Report.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ExportConfig}\n */\nproto.ramius.ExportConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ExportConfig;\n return proto.ramius.ExportConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ExportConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ExportConfig}\n */\nproto.ramius.ExportConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getPrefixesMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader, \"\", new proto.ramius.PrefixWithoutAsn());\n });\n break;\n case 2:\n var value = msg.getAlarmPoliciesMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.Group.deserializeBinaryFromReader, \"\", new proto.ramius.Group());\n });\n break;\n case 3:\n var value = msg.getNotificationEndpointsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.Endpoint.deserializeBinaryFromReader, \"\", new proto.ramius.Endpoint());\n });\n break;\n case 4:\n var value = msg.getAsnsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readUint32, jspb.BinaryReader.prototype.readMessage, proto.ramius.Asn.deserializeBinaryFromReader, 0, new proto.ramius.Asn());\n });\n break;\n case 5:\n var value = new proto.ramius.BgpPeerInfo;\n reader.readMessage(value,proto.ramius.BgpPeerInfo.deserializeBinaryFromReader);\n msg.addBgpPeers(value);\n break;\n case 6:\n var value = new proto.ramius.Report;\n reader.readMessage(value,proto.ramius.Report.deserializeBinaryFromReader);\n msg.addReports(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ExportConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ExportConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ExportConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter);\n }\n f = message.getAlarmPoliciesMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(2, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.Group.serializeBinaryToWriter);\n }\n f = message.getNotificationEndpointsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.Endpoint.serializeBinaryToWriter);\n }\n f = message.getAsnsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(4, writer, jspb.BinaryWriter.prototype.writeUint32, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.Asn.serializeBinaryToWriter);\n }\n f = message.getBgpPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 5,\n f,\n proto.ramius.BgpPeerInfo.serializeBinaryToWriter\n );\n }\n f = message.getReportsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 6,\n f,\n proto.ramius.Report.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * map prefixes = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.ExportConfig.prototype.getPrefixesMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n proto.ramius.PrefixWithoutAsn));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearPrefixesMap = function() {\n this.getPrefixesMap().clear();\n return this;};\n\n\n/**\n * map alarm_policies = 2;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.ExportConfig.prototype.getAlarmPoliciesMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 2, opt_noLazyCreate,\n proto.ramius.Group));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearAlarmPoliciesMap = function() {\n this.getAlarmPoliciesMap().clear();\n return this;};\n\n\n/**\n * map notification_endpoints = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.ExportConfig.prototype.getNotificationEndpointsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n proto.ramius.Endpoint));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearNotificationEndpointsMap = function() {\n this.getNotificationEndpointsMap().clear();\n return this;};\n\n\n/**\n * map asns = 4;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.ExportConfig.prototype.getAsnsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 4, opt_noLazyCreate,\n proto.ramius.Asn));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearAsnsMap = function() {\n this.getAsnsMap().clear();\n return this;};\n\n\n/**\n * repeated BgpPeerInfo bgp_peers = 5;\n * @return {!Array}\n */\nproto.ramius.ExportConfig.prototype.getBgpPeersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpPeerInfo, 5));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ExportConfig} returns this\n*/\nproto.ramius.ExportConfig.prototype.setBgpPeersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpPeerInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerInfo}\n */\nproto.ramius.ExportConfig.prototype.addBgpPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.ramius.BgpPeerInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearBgpPeersList = function() {\n return this.setBgpPeersList([]);\n};\n\n\n/**\n * repeated Report reports = 6;\n * @return {!Array}\n */\nproto.ramius.ExportConfig.prototype.getReportsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Report, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ExportConfig} returns this\n*/\nproto.ramius.ExportConfig.prototype.setReportsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.ramius.Report=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report}\n */\nproto.ramius.ExportConfig.prototype.addReports = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.ramius.Report, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ExportConfig} returns this\n */\nproto.ramius.ExportConfig.prototype.clearReportsList = function() {\n return this.setReportsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Configuration.repeatedFields_ = [2,3,4,5,6,7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Configuration.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Configuration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Configuration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Configuration.toObject = function(includeInstance, msg) {\n var f, obj = {\n apiVersion: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixWithoutAsn.toObject, includeInstance),\n alarmPoliciesList: jspb.Message.toObjectList(msg.getAlarmPoliciesList(),\n proto.ramius.AlarmPolicy.toObject, includeInstance),\n notificationEndpointsList: jspb.Message.toObjectList(msg.getNotificationEndpointsList(),\n proto.ramius.Endpoint.toObject, includeInstance),\n asnsList: jspb.Message.toObjectList(msg.getAsnsList(),\n proto.ramius.Asn.toObject, includeInstance),\n bgpPeersList: jspb.Message.toObjectList(msg.getBgpPeersList(),\n proto.ramius.BgpPeerInfo.toObject, includeInstance),\n reportsList: jspb.Message.toObjectList(msg.getReportsList(),\n proto.ramius.Report.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Configuration}\n */\nproto.ramius.Configuration.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Configuration;\n return proto.ramius.Configuration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Configuration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Configuration}\n */\nproto.ramius.Configuration.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setApiVersion(value);\n break;\n case 2:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n case 3:\n var value = new proto.ramius.AlarmPolicy;\n reader.readMessage(value,proto.ramius.AlarmPolicy.deserializeBinaryFromReader);\n msg.addAlarmPolicies(value);\n break;\n case 4:\n var value = new proto.ramius.Endpoint;\n reader.readMessage(value,proto.ramius.Endpoint.deserializeBinaryFromReader);\n msg.addNotificationEndpoints(value);\n break;\n case 5:\n var value = new proto.ramius.Asn;\n reader.readMessage(value,proto.ramius.Asn.deserializeBinaryFromReader);\n msg.addAsns(value);\n break;\n case 6:\n var value = new proto.ramius.BgpPeerInfo;\n reader.readMessage(value,proto.ramius.BgpPeerInfo.deserializeBinaryFromReader);\n msg.addBgpPeers(value);\n break;\n case 7:\n var value = new proto.ramius.Report;\n reader.readMessage(value,proto.ramius.Report.deserializeBinaryFromReader);\n msg.addReports(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Configuration.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Configuration.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Configuration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Configuration.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getApiVersion();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n f = message.getAlarmPoliciesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.AlarmPolicy.serializeBinaryToWriter\n );\n }\n f = message.getNotificationEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 4,\n f,\n proto.ramius.Endpoint.serializeBinaryToWriter\n );\n }\n f = message.getAsnsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 5,\n f,\n proto.ramius.Asn.serializeBinaryToWriter\n );\n }\n f = message.getBgpPeersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 6,\n f,\n proto.ramius.BgpPeerInfo.serializeBinaryToWriter\n );\n }\n f = message.getReportsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 7,\n f,\n proto.ramius.Report.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string api_version = 1;\n * @return {string}\n */\nproto.ramius.Configuration.prototype.getApiVersion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.setApiVersion = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * repeated PrefixWithoutAsn prefixes = 2;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixWithoutAsn, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixWithoutAsn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.Configuration.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.ramius.PrefixWithoutAsn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n/**\n * repeated AlarmPolicy alarm_policies = 3;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getAlarmPoliciesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AlarmPolicy, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setAlarmPoliciesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicy=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmPolicy}\n */\nproto.ramius.Configuration.prototype.addAlarmPolicies = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.AlarmPolicy, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearAlarmPoliciesList = function() {\n return this.setAlarmPoliciesList([]);\n};\n\n\n/**\n * repeated Endpoint notification_endpoints = 4;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getNotificationEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Endpoint, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setNotificationEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.ramius.Endpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Endpoint}\n */\nproto.ramius.Configuration.prototype.addNotificationEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.ramius.Endpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearNotificationEndpointsList = function() {\n return this.setNotificationEndpointsList([]);\n};\n\n\n/**\n * repeated Asn asns = 5;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getAsnsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Asn, 5));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setAsnsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 5, value);\n};\n\n\n/**\n * @param {!proto.ramius.Asn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Asn}\n */\nproto.ramius.Configuration.prototype.addAsns = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.ramius.Asn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearAsnsList = function() {\n return this.setAsnsList([]);\n};\n\n\n/**\n * repeated BgpPeerInfo bgp_peers = 6;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getBgpPeersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpPeerInfo, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setBgpPeersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpPeerInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerInfo}\n */\nproto.ramius.Configuration.prototype.addBgpPeers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.ramius.BgpPeerInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearBgpPeersList = function() {\n return this.setBgpPeersList([]);\n};\n\n\n/**\n * repeated Report reports = 7;\n * @return {!Array}\n */\nproto.ramius.Configuration.prototype.getReportsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.Report, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Configuration} returns this\n*/\nproto.ramius.Configuration.prototype.setReportsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.ramius.Report=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Report}\n */\nproto.ramius.Configuration.prototype.addReports = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.ramius.Report, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Configuration} returns this\n */\nproto.ramius.Configuration.prototype.clearReportsList = function() {\n return this.setReportsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ImportPrefixesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ImportPrefixesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ImportPrefixesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportPrefixesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n file: msg.getFile_asB64(),\n filename: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ImportPrefixesRequest}\n */\nproto.ramius.ImportPrefixesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ImportPrefixesRequest;\n return proto.ramius.ImportPrefixesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ImportPrefixesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ImportPrefixesRequest}\n */\nproto.ramius.ImportPrefixesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setFile(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setFilename(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryRun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ImportPrefixesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ImportPrefixesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ImportPrefixesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportPrefixesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFile_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n f = message.getFilename();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDryRun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional bytes file = 1;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.ImportPrefixesRequest.prototype.getFile = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes file = 1;\n * This is a type-conversion wrapper around `getFile()`\n * @return {string}\n */\nproto.ramius.ImportPrefixesRequest.prototype.getFile_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getFile()));\n};\n\n\n/**\n * optional bytes file = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getFile()`\n * @return {!Uint8Array}\n */\nproto.ramius.ImportPrefixesRequest.prototype.getFile_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getFile()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.ImportPrefixesRequest} returns this\n */\nproto.ramius.ImportPrefixesRequest.prototype.setFile = function(value) {\n return jspb.Message.setProto3BytesField(this, 1, value);\n};\n\n\n/**\n * optional string filename = 2;\n * @return {string}\n */\nproto.ramius.ImportPrefixesRequest.prototype.getFilename = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ImportPrefixesRequest} returns this\n */\nproto.ramius.ImportPrefixesRequest.prototype.setFilename = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool dry_run = 3;\n * @return {boolean}\n */\nproto.ramius.ImportPrefixesRequest.prototype.getDryRun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ImportPrefixesRequest} returns this\n */\nproto.ramius.ImportPrefixesRequest.prototype.setDryRun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ImportPrefixesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ImportPrefixesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ImportPrefixesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ImportPrefixesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportPrefixesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixWithoutAsn.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ImportPrefixesResponse}\n */\nproto.ramius.ImportPrefixesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ImportPrefixesResponse;\n return proto.ramius.ImportPrefixesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ImportPrefixesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ImportPrefixesResponse}\n */\nproto.ramius.ImportPrefixesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithoutAsn;\n reader.readMessage(value,proto.ramius.PrefixWithoutAsn.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ImportPrefixesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ImportPrefixesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ImportPrefixesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportPrefixesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PrefixWithoutAsn.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated PrefixWithoutAsn prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.ImportPrefixesResponse.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixWithoutAsn, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ImportPrefixesResponse} returns this\n*/\nproto.ramius.ImportPrefixesResponse.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixWithoutAsn=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithoutAsn}\n */\nproto.ramius.ImportPrefixesResponse.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PrefixWithoutAsn, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ImportPrefixesResponse} returns this\n */\nproto.ramius.ImportPrefixesResponse.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ExportConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ExportConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ExportConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ExportConfigurationRequest}\n */\nproto.ramius.ExportConfigurationRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ExportConfigurationRequest;\n return proto.ramius.ExportConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ExportConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ExportConfigurationRequest}\n */\nproto.ramius.ExportConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ExportConfigurationRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ExportConfigurationRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ExportConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ExportConfigurationJsonRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ExportConfigurationJsonRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ExportConfigurationJsonRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationJsonRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ExportConfigurationJsonRequest}\n */\nproto.ramius.ExportConfigurationJsonRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ExportConfigurationJsonRequest;\n return proto.ramius.ExportConfigurationJsonRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ExportConfigurationJsonRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ExportConfigurationJsonRequest}\n */\nproto.ramius.ExportConfigurationJsonRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ExportConfigurationJsonRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ExportConfigurationJsonRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ExportConfigurationJsonRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationJsonRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ExportConfigurationJsonResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ExportConfigurationJsonResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ExportConfigurationJsonResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationJsonResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n configJson: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ExportConfigurationJsonResponse}\n */\nproto.ramius.ExportConfigurationJsonResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ExportConfigurationJsonResponse;\n return proto.ramius.ExportConfigurationJsonResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ExportConfigurationJsonResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ExportConfigurationJsonResponse}\n */\nproto.ramius.ExportConfigurationJsonResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfigJson(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ExportConfigurationJsonResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ExportConfigurationJsonResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ExportConfigurationJsonResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ExportConfigurationJsonResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getConfigJson();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string config_json = 1;\n * @return {string}\n */\nproto.ramius.ExportConfigurationJsonResponse.prototype.getConfigJson = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ExportConfigurationJsonResponse} returns this\n */\nproto.ramius.ExportConfigurationJsonResponse.prototype.setConfigJson = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ImportConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ImportConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ImportConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportConfigurationRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n configuration: (f = msg.getConfiguration()) && proto.ramius.Configuration.toObject(includeInstance, f),\n configJson: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ImportConfigurationRequest}\n */\nproto.ramius.ImportConfigurationRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ImportConfigurationRequest;\n return proto.ramius.ImportConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ImportConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ImportConfigurationRequest}\n */\nproto.ramius.ImportConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Configuration;\n reader.readMessage(value,proto.ramius.Configuration.deserializeBinaryFromReader);\n msg.setConfiguration(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfigJson(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryRun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ImportConfigurationRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ImportConfigurationRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ImportConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getConfiguration();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Configuration.serializeBinaryToWriter\n );\n }\n f = message.getConfigJson();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDryRun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional Configuration configuration = 1;\n * @return {?proto.ramius.Configuration}\n */\nproto.ramius.ImportConfigurationRequest.prototype.getConfiguration = function() {\n return /** @type{?proto.ramius.Configuration} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Configuration, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Configuration|undefined} value\n * @return {!proto.ramius.ImportConfigurationRequest} returns this\n*/\nproto.ramius.ImportConfigurationRequest.prototype.setConfiguration = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ImportConfigurationRequest} returns this\n */\nproto.ramius.ImportConfigurationRequest.prototype.clearConfiguration = function() {\n return this.setConfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ImportConfigurationRequest.prototype.hasConfiguration = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string config_json = 2;\n * @return {string}\n */\nproto.ramius.ImportConfigurationRequest.prototype.getConfigJson = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ImportConfigurationRequest} returns this\n */\nproto.ramius.ImportConfigurationRequest.prototype.setConfigJson = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool dry_run = 3;\n * @return {boolean}\n */\nproto.ramius.ImportConfigurationRequest.prototype.getDryRun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ImportConfigurationRequest} returns this\n */\nproto.ramius.ImportConfigurationRequest.prototype.setDryRun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ImportConfigurationResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ImportConfigurationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ImportConfigurationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportConfigurationResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n success: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ImportConfigurationResponse}\n */\nproto.ramius.ImportConfigurationResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ImportConfigurationResponse;\n return proto.ramius.ImportConfigurationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ImportConfigurationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ImportConfigurationResponse}\n */\nproto.ramius.ImportConfigurationResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuccess(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ImportConfigurationResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ImportConfigurationResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ImportConfigurationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ImportConfigurationResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSuccess();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool success = 1;\n * @return {boolean}\n */\nproto.ramius.ImportConfigurationResponse.prototype.getSuccess = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ImportConfigurationResponse} returns this\n */\nproto.ramius.ImportConfigurationResponse.prototype.setSuccess = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ParseConfigurationJsonRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ParseConfigurationJsonRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ParseConfigurationJsonRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ParseConfigurationJsonRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n configJson: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ParseConfigurationJsonRequest}\n */\nproto.ramius.ParseConfigurationJsonRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ParseConfigurationJsonRequest;\n return proto.ramius.ParseConfigurationJsonRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ParseConfigurationJsonRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ParseConfigurationJsonRequest}\n */\nproto.ramius.ParseConfigurationJsonRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfigJson(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ParseConfigurationJsonRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ParseConfigurationJsonRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ParseConfigurationJsonRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ParseConfigurationJsonRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getConfigJson();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string config_json = 1;\n * @return {string}\n */\nproto.ramius.ParseConfigurationJsonRequest.prototype.getConfigJson = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ParseConfigurationJsonRequest} returns this\n */\nproto.ramius.ParseConfigurationJsonRequest.prototype.setConfigJson = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DiffConfigurationRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DiffConfigurationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DiffConfigurationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DiffConfigurationRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n configuration: (f = msg.getConfiguration()) && proto.ramius.Configuration.toObject(includeInstance, f),\n configData: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n prefixesOnly: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DiffConfigurationRequest}\n */\nproto.ramius.DiffConfigurationRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DiffConfigurationRequest;\n return proto.ramius.DiffConfigurationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DiffConfigurationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DiffConfigurationRequest}\n */\nproto.ramius.DiffConfigurationRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Configuration;\n reader.readMessage(value,proto.ramius.Configuration.deserializeBinaryFromReader);\n msg.setConfiguration(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfigData(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setPrefixesOnly(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DiffConfigurationRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DiffConfigurationRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DiffConfigurationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DiffConfigurationRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getConfiguration();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Configuration.serializeBinaryToWriter\n );\n }\n f = message.getConfigData();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPrefixesOnly();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional Configuration configuration = 1;\n * @return {?proto.ramius.Configuration}\n */\nproto.ramius.DiffConfigurationRequest.prototype.getConfiguration = function() {\n return /** @type{?proto.ramius.Configuration} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Configuration, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Configuration|undefined} value\n * @return {!proto.ramius.DiffConfigurationRequest} returns this\n*/\nproto.ramius.DiffConfigurationRequest.prototype.setConfiguration = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DiffConfigurationRequest} returns this\n */\nproto.ramius.DiffConfigurationRequest.prototype.clearConfiguration = function() {\n return this.setConfiguration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DiffConfigurationRequest.prototype.hasConfiguration = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string config_data = 2;\n * @return {string}\n */\nproto.ramius.DiffConfigurationRequest.prototype.getConfigData = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DiffConfigurationRequest} returns this\n */\nproto.ramius.DiffConfigurationRequest.prototype.setConfigData = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool prefixes_only = 3;\n * @return {boolean}\n */\nproto.ramius.DiffConfigurationRequest.prototype.getPrefixesOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.DiffConfigurationRequest} returns this\n */\nproto.ramius.DiffConfigurationRequest.prototype.setPrefixesOnly = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfirmEndpointRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfirmEndpointRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfirmEndpointRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmEndpointRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n endpointId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n code: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfirmEndpointRequest}\n */\nproto.ramius.ConfirmEndpointRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfirmEndpointRequest;\n return proto.ramius.ConfirmEndpointRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfirmEndpointRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfirmEndpointRequest}\n */\nproto.ramius.ConfirmEndpointRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEndpointId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setCode(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfirmEndpointRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfirmEndpointRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfirmEndpointRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmEndpointRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEndpointId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getCode();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string endpoint_id = 1;\n * @return {string}\n */\nproto.ramius.ConfirmEndpointRequest.prototype.getEndpointId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ConfirmEndpointRequest} returns this\n */\nproto.ramius.ConfirmEndpointRequest.prototype.setEndpointId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.ramius.ConfirmEndpointRequest.prototype.getCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ConfirmEndpointRequest} returns this\n */\nproto.ramius.ConfirmEndpointRequest.prototype.setCode = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfirmEndpointResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfirmEndpointResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfirmEndpointResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmEndpointResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfirmEndpointResponse}\n */\nproto.ramius.ConfirmEndpointResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfirmEndpointResponse;\n return proto.ramius.ConfirmEndpointResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfirmEndpointResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfirmEndpointResponse}\n */\nproto.ramius.ConfirmEndpointResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfirmEndpointResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfirmEndpointResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfirmEndpointResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmEndpointResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ResendConfirmationRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ResendConfirmationRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ResendConfirmationRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ResendConfirmationRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n endpointId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ResendConfirmationRequest}\n */\nproto.ramius.ResendConfirmationRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ResendConfirmationRequest;\n return proto.ramius.ResendConfirmationRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ResendConfirmationRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ResendConfirmationRequest}\n */\nproto.ramius.ResendConfirmationRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEndpointId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ResendConfirmationRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ResendConfirmationRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ResendConfirmationRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ResendConfirmationRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEndpointId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string endpoint_id = 1;\n * @return {string}\n */\nproto.ramius.ResendConfirmationRequest.prototype.getEndpointId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ResendConfirmationRequest} returns this\n */\nproto.ramius.ResendConfirmationRequest.prototype.setEndpointId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ResendConfirmationResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ResendConfirmationResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ResendConfirmationResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ResendConfirmationResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ResendConfirmationResponse}\n */\nproto.ramius.ResendConfirmationResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ResendConfirmationResponse;\n return proto.ramius.ResendConfirmationResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ResendConfirmationResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ResendConfirmationResponse}\n */\nproto.ramius.ResendConfirmationResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ResendConfirmationResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ResendConfirmationResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ResendConfirmationResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ResendConfirmationResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAlarmPolicyRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAlarmPolicyRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAlarmPolicyRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPolicyRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n policyId: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAlarmPolicyRequest}\n */\nproto.ramius.GetAlarmPolicyRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAlarmPolicyRequest;\n return proto.ramius.GetAlarmPolicyRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAlarmPolicyRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAlarmPolicyRequest}\n */\nproto.ramius.GetAlarmPolicyRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAlarmPolicyRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAlarmPolicyRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAlarmPolicyRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPolicyRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string policy_id = 3;\n * @return {string}\n */\nproto.ramius.GetAlarmPolicyRequest.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GetAlarmPolicyRequest} returns this\n */\nproto.ramius.GetAlarmPolicyRequest.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetAlarmPolicyResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetAlarmPolicyResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetAlarmPolicyResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPolicyResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n policy: (f = msg.getPolicy()) && proto.ramius.AlarmPolicy.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetAlarmPolicyResponse}\n */\nproto.ramius.GetAlarmPolicyResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetAlarmPolicyResponse;\n return proto.ramius.GetAlarmPolicyResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetAlarmPolicyResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetAlarmPolicyResponse}\n */\nproto.ramius.GetAlarmPolicyResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AlarmPolicy;\n reader.readMessage(value,proto.ramius.AlarmPolicy.deserializeBinaryFromReader);\n msg.setPolicy(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetAlarmPolicyResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetAlarmPolicyResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetAlarmPolicyResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetAlarmPolicyResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPolicy();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.AlarmPolicy.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional AlarmPolicy policy = 1;\n * @return {?proto.ramius.AlarmPolicy}\n */\nproto.ramius.GetAlarmPolicyResponse.prototype.getPolicy = function() {\n return /** @type{?proto.ramius.AlarmPolicy} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmPolicy, 1));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmPolicy|undefined} value\n * @return {!proto.ramius.GetAlarmPolicyResponse} returns this\n*/\nproto.ramius.GetAlarmPolicyResponse.prototype.setPolicy = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetAlarmPolicyResponse} returns this\n */\nproto.ramius.GetAlarmPolicyResponse.prototype.clearPolicy = function() {\n return this.setPolicy(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetAlarmPolicyResponse.prototype.hasPolicy = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ActiveAlarmsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ActiveAlarmsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ActiveAlarmsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActiveAlarmsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n numRecords: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ActiveAlarmsRequest}\n */\nproto.ramius.ActiveAlarmsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ActiveAlarmsRequest;\n return proto.ramius.ActiveAlarmsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ActiveAlarmsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ActiveAlarmsRequest}\n */\nproto.ramius.ActiveAlarmsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNumRecords(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ActiveAlarmsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ActiveAlarmsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ActiveAlarmsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActiveAlarmsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getNumRecords();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional int32 num_records = 1;\n * @return {number}\n */\nproto.ramius.ActiveAlarmsRequest.prototype.getNumRecords = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ActiveAlarmsRequest} returns this\n */\nproto.ramius.ActiveAlarmsRequest.prototype.setNumRecords = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ActiveAlarmsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ActiveAlarmsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActiveAlarmsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n uuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n lastSeenTs: jspb.Message.getFieldWithDefault(msg, 2, 0),\n creationTs: jspb.Message.getFieldWithDefault(msg, 3, 0),\n cause: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ActiveAlarmsResponse}\n */\nproto.ramius.ActiveAlarmsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ActiveAlarmsResponse;\n return proto.ramius.ActiveAlarmsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ActiveAlarmsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ActiveAlarmsResponse}\n */\nproto.ramius.ActiveAlarmsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUuid(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setLastSeenTs(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCreationTs(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setCause(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ActiveAlarmsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ActiveAlarmsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActiveAlarmsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getLastSeenTs();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getCreationTs();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getCause();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string uuid = 1;\n * @return {string}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.getUuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ActiveAlarmsResponse} returns this\n */\nproto.ramius.ActiveAlarmsResponse.prototype.setUuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 last_seen_ts = 2;\n * @return {number}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.getLastSeenTs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ActiveAlarmsResponse} returns this\n */\nproto.ramius.ActiveAlarmsResponse.prototype.setLastSeenTs = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 creation_ts = 3;\n * @return {number}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.getCreationTs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ActiveAlarmsResponse} returns this\n */\nproto.ramius.ActiveAlarmsResponse.prototype.setCreationTs = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string cause = 4;\n * @return {string}\n */\nproto.ramius.ActiveAlarmsResponse.prototype.getCause = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ActiveAlarmsResponse} returns this\n */\nproto.ramius.ActiveAlarmsResponse.prototype.setCause = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EndpointStatus.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EndpointStatus.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EndpointStatus} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EndpointStatus.toObject = function(includeInstance, msg) {\n var f, obj = {\n status: jspb.Message.getFieldWithDefault(msg, 1, 0),\n cause: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n retryCount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n lastActive: (f = msg.getLastActive()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EndpointStatus}\n */\nproto.ramius.EndpointStatus.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EndpointStatus;\n return proto.ramius.EndpointStatus.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EndpointStatus} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EndpointStatus}\n */\nproto.ramius.EndpointStatus.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.EndpointStatus.Status} */ (reader.readEnum());\n msg.setStatus(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setCause(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setRetryCount(value);\n break;\n case 4:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastActive(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EndpointStatus.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EndpointStatus.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EndpointStatus} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EndpointStatus.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getCause();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRetryCount();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getLastActive();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.EndpointStatus.Status = {\n UNKNOWN: 0,\n PENDING: 1,\n CONFIRMED: 2,\n ERROR: 3,\n DELETED: 4\n};\n\n/**\n * optional Status status = 1;\n * @return {!proto.ramius.EndpointStatus.Status}\n */\nproto.ramius.EndpointStatus.prototype.getStatus = function() {\n return /** @type {!proto.ramius.EndpointStatus.Status} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.EndpointStatus.Status} value\n * @return {!proto.ramius.EndpointStatus} returns this\n */\nproto.ramius.EndpointStatus.prototype.setStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional string cause = 2;\n * @return {string}\n */\nproto.ramius.EndpointStatus.prototype.getCause = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EndpointStatus} returns this\n */\nproto.ramius.EndpointStatus.prototype.setCause = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint32 retry_count = 3;\n * @return {number}\n */\nproto.ramius.EndpointStatus.prototype.getRetryCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.EndpointStatus} returns this\n */\nproto.ramius.EndpointStatus.prototype.setRetryCount = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_active = 4;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.EndpointStatus.prototype.getLastActive = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.EndpointStatus} returns this\n*/\nproto.ramius.EndpointStatus.prototype.setLastActive = function(value) {\n return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.EndpointStatus} returns this\n */\nproto.ramius.EndpointStatus.prototype.clearLastActive = function() {\n return this.setLastActive(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.EndpointStatus.prototype.hasLastActive = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GetNotificationStatusRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationStatusRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationStatusRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationStatusRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationStatusRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuidsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationStatusRequest}\n */\nproto.ramius.GetNotificationStatusRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationStatusRequest;\n return proto.ramius.GetNotificationStatusRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationStatusRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationStatusRequest}\n */\nproto.ramius.GetNotificationStatusRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addEuuids(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationStatusRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationStatusRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationStatusRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationStatusRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuidsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string euuids = 1;\n * @return {!Array}\n */\nproto.ramius.GetNotificationStatusRequest.prototype.getEuuidsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GetNotificationStatusRequest} returns this\n */\nproto.ramius.GetNotificationStatusRequest.prototype.setEuuidsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GetNotificationStatusRequest} returns this\n */\nproto.ramius.GetNotificationStatusRequest.prototype.addEuuids = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GetNotificationStatusRequest} returns this\n */\nproto.ramius.GetNotificationStatusRequest.prototype.clearEuuidsList = function() {\n return this.setEuuidsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GetNotificationStatusResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GetNotificationStatusResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GetNotificationStatusResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationStatusResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n euuidStatusMap: (f = msg.getEuuidStatusMap()) ? f.toObject(includeInstance, undefined) : [],\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GetNotificationStatusResponse}\n */\nproto.ramius.GetNotificationStatusResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GetNotificationStatusResponse;\n return proto.ramius.GetNotificationStatusResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GetNotificationStatusResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GetNotificationStatusResponse}\n */\nproto.ramius.GetNotificationStatusResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getEuuidStatusMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readEnum, null, \"\", 0);\n });\n break;\n case 2:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GetNotificationStatusResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GetNotificationStatusResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GetNotificationStatusResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GetNotificationStatusResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEuuidStatusMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeEnum);\n }\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * map euuid_status = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.GetNotificationStatusResponse.prototype.getEuuidStatusMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n null));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.GetNotificationStatusResponse} returns this\n */\nproto.ramius.GetNotificationStatusResponse.prototype.clearEuuidStatusMap = function() {\n this.getEuuidStatusMap().clear();\n return this;};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.GetNotificationStatusResponse.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.GetNotificationStatusResponse} returns this\n*/\nproto.ramius.GetNotificationStatusResponse.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GetNotificationStatusResponse} returns this\n */\nproto.ramius.GetNotificationStatusResponse.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GetNotificationStatusResponse.prototype.hasError = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PrefixesList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixesList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixesList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixesList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixesList.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixListList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixesList}\n */\nproto.ramius.PrefixesList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixesList;\n return proto.ramius.PrefixesList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixesList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixesList}\n */\nproto.ramius.PrefixesList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addPrefixList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixesList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixesList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixesList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixesList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixListList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string prefix_list = 1;\n * @return {!Array}\n */\nproto.ramius.PrefixesList.prototype.getPrefixListList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PrefixesList} returns this\n */\nproto.ramius.PrefixesList.prototype.setPrefixListList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixesList} returns this\n */\nproto.ramius.PrefixesList.prototype.addPrefixList = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PrefixesList} returns this\n */\nproto.ramius.PrefixesList.prototype.clearPrefixListList = function() {\n return this.setPrefixListList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ValidatePrefixesRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ValidatePrefixesRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ValidatePrefixesRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidatePrefixesRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixList: (f = msg.getPrefixList()) && proto.ramius.PrefixesList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ValidatePrefixesRequest}\n */\nproto.ramius.ValidatePrefixesRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ValidatePrefixesRequest;\n return proto.ramius.ValidatePrefixesRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ValidatePrefixesRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ValidatePrefixesRequest}\n */\nproto.ramius.ValidatePrefixesRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixesList;\n reader.readMessage(value,proto.ramius.PrefixesList.deserializeBinaryFromReader);\n msg.setPrefixList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ValidatePrefixesRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ValidatePrefixesRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ValidatePrefixesRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidatePrefixesRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixList();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.PrefixesList.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional PrefixesList prefix_list = 1;\n * @return {?proto.ramius.PrefixesList}\n */\nproto.ramius.ValidatePrefixesRequest.prototype.getPrefixList = function() {\n return /** @type{?proto.ramius.PrefixesList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixesList, 1));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixesList|undefined} value\n * @return {!proto.ramius.ValidatePrefixesRequest} returns this\n*/\nproto.ramius.ValidatePrefixesRequest.prototype.setPrefixList = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ValidatePrefixesRequest} returns this\n */\nproto.ramius.ValidatePrefixesRequest.prototype.clearPrefixList = function() {\n return this.setPrefixList(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ValidatePrefixesRequest.prototype.hasPrefixList = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixWithError.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixWithError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixWithError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixWithError.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n domain: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixWithError}\n */\nproto.ramius.PrefixWithError.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixWithError;\n return proto.ramius.PrefixWithError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixWithError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixWithError}\n */\nproto.ramius.PrefixWithError.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 2:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setDomain(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixWithError.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixWithError.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixWithError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixWithError.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getDomain();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.PrefixWithError.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithError} returns this\n */\nproto.ramius.PrefixWithError.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.PrefixWithError.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.PrefixWithError} returns this\n*/\nproto.ramius.PrefixWithError.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PrefixWithError} returns this\n */\nproto.ramius.PrefixWithError.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PrefixWithError.prototype.hasError = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string domain = 3;\n * @return {string}\n */\nproto.ramius.PrefixWithError.prototype.getDomain = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixWithError} returns this\n */\nproto.ramius.PrefixWithError.prototype.setDomain = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ValidatePrefixesResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ValidatePrefixesResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ValidatePrefixesResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidatePrefixesResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefixesList: jspb.Message.toObjectList(msg.getPrefixesList(),\n proto.ramius.PrefixWithError.toObject, includeInstance),\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ValidatePrefixesResponse}\n */\nproto.ramius.ValidatePrefixesResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ValidatePrefixesResponse;\n return proto.ramius.ValidatePrefixesResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ValidatePrefixesResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ValidatePrefixesResponse}\n */\nproto.ramius.ValidatePrefixesResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PrefixWithError;\n reader.readMessage(value,proto.ramius.PrefixWithError.deserializeBinaryFromReader);\n msg.addPrefixes(value);\n break;\n case 2:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ValidatePrefixesResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ValidatePrefixesResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidatePrefixesResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PrefixWithError.serializeBinaryToWriter\n );\n }\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated PrefixWithError prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.getPrefixesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixWithError, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ValidatePrefixesResponse} returns this\n*/\nproto.ramius.ValidatePrefixesResponse.prototype.setPrefixesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixWithError=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixWithError}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.addPrefixes = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PrefixWithError, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ValidatePrefixesResponse} returns this\n */\nproto.ramius.ValidatePrefixesResponse.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.ValidatePrefixesResponse} returns this\n*/\nproto.ramius.ValidatePrefixesResponse.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ValidatePrefixesResponse} returns this\n */\nproto.ramius.ValidatePrefixesResponse.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ValidatePrefixesResponse.prototype.hasError = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.StringKV.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.StringKV.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.StringKV} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.StringKV.toObject = function(includeInstance, msg) {\n var f, obj = {\n key: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n value: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.StringKV}\n */\nproto.ramius.StringKV.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.StringKV;\n return proto.ramius.StringKV.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.StringKV} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.StringKV}\n */\nproto.ramius.StringKV.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setKey(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setValue(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.StringKV.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.StringKV.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.StringKV} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.StringKV.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getValue();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string key = 1;\n * @return {string}\n */\nproto.ramius.StringKV.prototype.getKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.StringKV} returns this\n */\nproto.ramius.StringKV.prototype.setKey = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string value = 2;\n * @return {string}\n */\nproto.ramius.StringKV.prototype.getValue = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.StringKV} returns this\n */\nproto.ramius.StringKV.prototype.setValue = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TestValidAsPathPatternReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TestValidAsPathPatternReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestValidAsPathPatternReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n pattern: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n asPaths: (f = msg.getAsPaths()) && common_pb.AsPathList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TestValidAsPathPatternReq}\n */\nproto.ramius.TestValidAsPathPatternReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TestValidAsPathPatternReq;\n return proto.ramius.TestValidAsPathPatternReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TestValidAsPathPatternReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TestValidAsPathPatternReq}\n */\nproto.ramius.TestValidAsPathPatternReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPattern(value);\n break;\n case 2:\n var value = new common_pb.AsPathList;\n reader.readMessage(value,common_pb.AsPathList.deserializeBinaryFromReader);\n msg.setAsPaths(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TestValidAsPathPatternReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TestValidAsPathPatternReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestValidAsPathPatternReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPattern();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAsPaths();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n common_pb.AsPathList.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string pattern = 1;\n * @return {string}\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.getPattern = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TestValidAsPathPatternReq} returns this\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.setPattern = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional AsPathList as_paths = 2;\n * @return {?proto.ramius.AsPathList}\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.getAsPaths = function() {\n return /** @type{?proto.ramius.AsPathList} */ (\n jspb.Message.getWrapperField(this, common_pb.AsPathList, 2));\n};\n\n\n/**\n * @param {?proto.ramius.AsPathList|undefined} value\n * @return {!proto.ramius.TestValidAsPathPatternReq} returns this\n*/\nproto.ramius.TestValidAsPathPatternReq.prototype.setAsPaths = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.TestValidAsPathPatternReq} returns this\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.clearAsPaths = function() {\n return this.setAsPaths(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.TestValidAsPathPatternReq.prototype.hasAsPaths = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.TestValidAsPathPatternResp.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TestValidAsPathPatternResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TestValidAsPathPatternResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestValidAsPathPatternResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n pattern: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n asPaths: (f = msg.getAsPaths()) && common_pb.AsPathList.toObject(includeInstance, f),\n resultList: (f = jspb.Message.getRepeatedBooleanField(msg, 4)) == null ? undefined : f,\n patternError: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TestValidAsPathPatternResp}\n */\nproto.ramius.TestValidAsPathPatternResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TestValidAsPathPatternResp;\n return proto.ramius.TestValidAsPathPatternResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TestValidAsPathPatternResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TestValidAsPathPatternResp}\n */\nproto.ramius.TestValidAsPathPatternResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPattern(value);\n break;\n case 3:\n var value = new common_pb.AsPathList;\n reader.readMessage(value,common_pb.AsPathList.deserializeBinaryFromReader);\n msg.setAsPaths(value);\n break;\n case 4:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedBool() : [reader.readBool()]);\n for (var i = 0; i < values.length; i++) {\n msg.addResult(values[i]);\n }\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPatternError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TestValidAsPathPatternResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TestValidAsPathPatternResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestValidAsPathPatternResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getPattern();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getAsPaths();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n common_pb.AsPathList.serializeBinaryToWriter\n );\n }\n f = message.getResultList();\n if (f.length > 0) {\n writer.writePackedBool(\n 4,\n f\n );\n }\n f = message.getPatternError();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n*/\nproto.ramius.TestValidAsPathPatternResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string pattern = 2;\n * @return {string}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.getPattern = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.setPattern = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional AsPathList as_paths = 3;\n * @return {?proto.ramius.AsPathList}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.getAsPaths = function() {\n return /** @type{?proto.ramius.AsPathList} */ (\n jspb.Message.getWrapperField(this, common_pb.AsPathList, 3));\n};\n\n\n/**\n * @param {?proto.ramius.AsPathList|undefined} value\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n*/\nproto.ramius.TestValidAsPathPatternResp.prototype.setAsPaths = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.clearAsPaths = function() {\n return this.setAsPaths(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.hasAsPaths = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated bool result = 4;\n * @return {!Array}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.getResultList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedBooleanField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.setResultList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {boolean} value\n * @param {number=} opt_index\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.addResult = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.clearResultList = function() {\n return this.setResultList([]);\n};\n\n\n/**\n * optional string pattern_error = 5;\n * @return {string}\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.getPatternError = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TestValidAsPathPatternResp} returns this\n */\nproto.ramius.TestValidAsPathPatternResp.prototype.setPatternError = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfirmBgpMonAccountRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfirmBgpMonAccountRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfirmBgpMonAccountRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmBgpMonAccountRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n bgpMonOrgEmail: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfirmBgpMonAccountRequest}\n */\nproto.ramius.ConfirmBgpMonAccountRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfirmBgpMonAccountRequest;\n return proto.ramius.ConfirmBgpMonAccountRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfirmBgpMonAccountRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfirmBgpMonAccountRequest}\n */\nproto.ramius.ConfirmBgpMonAccountRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpMonOrgEmail(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfirmBgpMonAccountRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfirmBgpMonAccountRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfirmBgpMonAccountRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmBgpMonAccountRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBgpMonOrgEmail();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string bgp_mon_org_email = 1;\n * @return {string}\n */\nproto.ramius.ConfirmBgpMonAccountRequest.prototype.getBgpMonOrgEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ConfirmBgpMonAccountRequest} returns this\n */\nproto.ramius.ConfirmBgpMonAccountRequest.prototype.setBgpMonOrgEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfirmBgpMonAccountResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfirmBgpMonAccountResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfirmBgpMonAccountResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmBgpMonAccountResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfirmBgpMonAccountResponse}\n */\nproto.ramius.ConfirmBgpMonAccountResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfirmBgpMonAccountResponse;\n return proto.ramius.ConfirmBgpMonAccountResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfirmBgpMonAccountResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfirmBgpMonAccountResponse}\n */\nproto.ramius.ConfirmBgpMonAccountResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfirmBgpMonAccountResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfirmBgpMonAccountResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfirmBgpMonAccountResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfirmBgpMonAccountResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ActivateLegacyPeersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ActivateLegacyPeersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ActivateLegacyPeersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActivateLegacyPeersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n requestId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ActivateLegacyPeersRequest}\n */\nproto.ramius.ActivateLegacyPeersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ActivateLegacyPeersRequest;\n return proto.ramius.ActivateLegacyPeersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ActivateLegacyPeersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ActivateLegacyPeersRequest}\n */\nproto.ramius.ActivateLegacyPeersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRequestId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ActivateLegacyPeersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ActivateLegacyPeersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ActivateLegacyPeersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActivateLegacyPeersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRequestId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string request_id = 1;\n * @return {string}\n */\nproto.ramius.ActivateLegacyPeersRequest.prototype.getRequestId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ActivateLegacyPeersRequest} returns this\n */\nproto.ramius.ActivateLegacyPeersRequest.prototype.setRequestId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ActivateLegacyPeersResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ActivateLegacyPeersResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ActivateLegacyPeersResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActivateLegacyPeersResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n bgpMonOrgEmail: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ActivateLegacyPeersResponse}\n */\nproto.ramius.ActivateLegacyPeersResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ActivateLegacyPeersResponse;\n return proto.ramius.ActivateLegacyPeersResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ActivateLegacyPeersResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ActivateLegacyPeersResponse}\n */\nproto.ramius.ActivateLegacyPeersResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpMonOrgEmail(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ActivateLegacyPeersResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ActivateLegacyPeersResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ActivateLegacyPeersResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ActivateLegacyPeersResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBgpMonOrgEmail();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string bgp_mon_org_email = 1;\n * @return {string}\n */\nproto.ramius.ActivateLegacyPeersResponse.prototype.getBgpMonOrgEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ActivateLegacyPeersResponse} returns this\n */\nproto.ramius.ActivateLegacyPeersResponse.prototype.setBgpMonOrgEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerActivationStatusRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerActivationStatusRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerActivationStatusRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerActivationStatusRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n requestIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerActivationStatusRequest}\n */\nproto.ramius.PeerActivationStatusRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerActivationStatusRequest;\n return proto.ramius.PeerActivationStatusRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerActivationStatusRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerActivationStatusRequest}\n */\nproto.ramius.PeerActivationStatusRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addRequestIds(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerActivationStatusRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerActivationStatusRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerActivationStatusRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRequestIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string request_ids = 1;\n * @return {!Array}\n */\nproto.ramius.PeerActivationStatusRequest.prototype.getRequestIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerActivationStatusRequest} returns this\n */\nproto.ramius.PeerActivationStatusRequest.prototype.setRequestIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeerActivationStatusRequest} returns this\n */\nproto.ramius.PeerActivationStatusRequest.prototype.addRequestIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerActivationStatusRequest} returns this\n */\nproto.ramius.PeerActivationStatusRequest.prototype.clearRequestIdsList = function() {\n return this.setRequestIdsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerActivationStatusRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerActivationStatusRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusRecord.toObject = function(includeInstance, msg) {\n var f, obj = {\n status: jspb.Message.getFieldWithDefault(msg, 1, 0),\n createAt: (f = msg.getCreateAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n userId: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n requestId: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n bgpmonEmailId: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerActivationStatusRecord}\n */\nproto.ramius.PeerActivationStatusRecord.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerActivationStatusRecord;\n return proto.ramius.PeerActivationStatusRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerActivationStatusRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerActivationStatusRecord}\n */\nproto.ramius.PeerActivationStatusRecord.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.PeerActivationStatus} */ (reader.readEnum());\n msg.setStatus(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCreateAt(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setUserId(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setRequestId(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpmonEmailId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerActivationStatusRecord.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerActivationStatusRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusRecord.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getCreateAt();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getUserId();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getRequestId();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getBgpmonEmailId();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional PeerActivationStatus status = 1;\n * @return {!proto.ramius.PeerActivationStatus}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.getStatus = function() {\n return /** @type {!proto.ramius.PeerActivationStatus} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.PeerActivationStatus} value\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n */\nproto.ramius.PeerActivationStatusRecord.prototype.setStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp create_at = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.getCreateAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n*/\nproto.ramius.PeerActivationStatusRecord.prototype.setCreateAt = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n */\nproto.ramius.PeerActivationStatusRecord.prototype.clearCreateAt = function() {\n return this.setCreateAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.hasCreateAt = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string user_id = 3;\n * @return {string}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.getUserId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n */\nproto.ramius.PeerActivationStatusRecord.prototype.setUserId = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string request_id = 4;\n * @return {string}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.getRequestId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n */\nproto.ramius.PeerActivationStatusRecord.prototype.setRequestId = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string bgpmon_email_id = 5;\n * @return {string}\n */\nproto.ramius.PeerActivationStatusRecord.prototype.getBgpmonEmailId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerActivationStatusRecord} returns this\n */\nproto.ramius.PeerActivationStatusRecord.prototype.setBgpmonEmailId = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerActivationStatusResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerActivationStatusResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerActivationStatusResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerActivationStatusResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n activationRecordsList: jspb.Message.toObjectList(msg.getActivationRecordsList(),\n proto.ramius.PeerActivationStatusRecord.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerActivationStatusResponse}\n */\nproto.ramius.PeerActivationStatusResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerActivationStatusResponse;\n return proto.ramius.PeerActivationStatusResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerActivationStatusResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerActivationStatusResponse}\n */\nproto.ramius.PeerActivationStatusResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 3:\n var value = new proto.ramius.PeerActivationStatusRecord;\n reader.readMessage(value,proto.ramius.PeerActivationStatusRecord.deserializeBinaryFromReader);\n msg.addActivationRecords(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerActivationStatusResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerActivationStatusResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerActivationStatusResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerActivationStatusResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getActivationRecordsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.PeerActivationStatusRecord.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated PeerActivationStatusRecord activation_records = 3;\n * @return {!Array}\n */\nproto.ramius.PeerActivationStatusResponse.prototype.getActivationRecordsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PeerActivationStatusRecord, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerActivationStatusResponse} returns this\n*/\nproto.ramius.PeerActivationStatusResponse.prototype.setActivationRecordsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.PeerActivationStatusRecord=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeerActivationStatusRecord}\n */\nproto.ramius.PeerActivationStatusResponse.prototype.addActivationRecords = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.PeerActivationStatusRecord, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerActivationStatusResponse} returns this\n */\nproto.ramius.PeerActivationStatusResponse.prototype.clearActivationRecordsList = function() {\n return this.setActivationRecordsList([]);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionState = {\n STATE_INVALID: 0,\n SUBSCRIBED: 1,\n UNSUBSCRIBED: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.NotificationType = {\n NOTIFICATION_TYPE_UNKNOWN: 0,\n NOTIFICATION_TYPE_CHECKPOINT: 1,\n NOTIFICATION_TYPE_ALARM: 2,\n NOTIFICATION_TYPE_ASN_REPORT: 3\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: auth_user.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar error_pb = require('./error_pb.js');\ngoog.object.extend(proto, error_pb);\nvar ccsubs_gen_pb = require('./ccsubs_gen_pb.js');\ngoog.object.extend(proto, ccsubs_gen_pb);\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\nvar subscriptions_pb = require('./subscriptions_pb.js');\ngoog.object.extend(proto, subscriptions_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.AccessCookie', null, global);\ngoog.exportSymbol('proto.ramius.AddFreeSubReq', null, global);\ngoog.exportSymbol('proto.ramius.AddFreeSubReq.AddFreeSubBody', null, global);\ngoog.exportSymbol('proto.ramius.AddOrgUserInfoReq', null, global);\ngoog.exportSymbol('proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody', null, global);\ngoog.exportSymbol('proto.ramius.AddTrialSubReq', null, global);\ngoog.exportSymbol('proto.ramius.AddTrialSubReq.AddTrialSubBody', null, global);\ngoog.exportSymbol('proto.ramius.AddUsersRequest', null, global);\ngoog.exportSymbol('proto.ramius.AddUsersResponse', null, global);\ngoog.exportSymbol('proto.ramius.ClaimsResp', null, global);\ngoog.exportSymbol('proto.ramius.CreateNewTenancyReq', null, global);\ngoog.exportSymbol('proto.ramius.CreateNewTenancyResp', null, global);\ngoog.exportSymbol('proto.ramius.DeleteOrgUserReq', null, global);\ngoog.exportSymbol('proto.ramius.Empty', null, global);\ngoog.exportSymbol('proto.ramius.EntitlementByTokenRequest', null, global);\ngoog.exportSymbol('proto.ramius.EntitlementByTokenResponse', null, global);\ngoog.exportSymbol('proto.ramius.FeaturesResp', null, global);\ngoog.exportSymbol('proto.ramius.InventoryResults', null, global);\ngoog.exportSymbol('proto.ramius.InventoryServiceItems', null, global);\ngoog.exportSymbol('proto.ramius.InventoryTaskResult', null, global);\ngoog.exportSymbol('proto.ramius.InventoryTaskResult.Status', null, global);\ngoog.exportSymbol('proto.ramius.InvitationResp', null, global);\ngoog.exportSymbol('proto.ramius.NetworkType', null, global);\ngoog.exportSymbol('proto.ramius.OrgGroup', null, global);\ngoog.exportSymbol('proto.ramius.OrgReq', null, global);\ngoog.exportSymbol('proto.ramius.OrgResp', null, global);\ngoog.exportSymbol('proto.ramius.OrgSubReq', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersReq', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersResp', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersResp.ListCase', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersResp.OrgUserInfo', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersResp.OrgUserInfoList', null, global);\ngoog.exportSymbol('proto.ramius.OrgUsersResp.OrgUserList', null, global);\ngoog.exportSymbol('proto.ramius.PurchaseMethod', null, global);\ngoog.exportSymbol('proto.ramius.PurchasedItems', null, global);\ngoog.exportSymbol('proto.ramius.PurchasedItemsReq', null, global);\ngoog.exportSymbol('proto.ramius.PurchasedItemsResp', null, global);\ngoog.exportSymbol('proto.ramius.SendCustomerFeedbackRequest', null, global);\ngoog.exportSymbol('proto.ramius.SendCustomerFeedbackRequest.FeedbackType', null, global);\ngoog.exportSymbol('proto.ramius.SendCustomerFeedbackResponse', null, global);\ngoog.exportSymbol('proto.ramius.ServiceName', null, global);\ngoog.exportSymbol('proto.ramius.SetOrgNameRequest', null, global);\ngoog.exportSymbol('proto.ramius.SetOrgNameResponse', null, global);\ngoog.exportSymbol('proto.ramius.SubResp', null, global);\ngoog.exportSymbol('proto.ramius.SubResp.SubItem', null, global);\ngoog.exportSymbol('proto.ramius.SubState', null, global);\ngoog.exportSymbol('proto.ramius.UiTheme', null, global);\ngoog.exportSymbol('proto.ramius.UpdateOrgReq', null, global);\ngoog.exportSymbol('proto.ramius.UpdateOrgReq.OrgInfo', null, global);\ngoog.exportSymbol('proto.ramius.UpdateOrgUserInfoReq', null, global);\ngoog.exportSymbol('proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody', null, global);\ngoog.exportSymbol('proto.ramius.UpdateUserReq', null, global);\ngoog.exportSymbol('proto.ramius.UpdateUserReq.UserInfo', null, global);\ngoog.exportSymbol('proto.ramius.UserDetails', null, global);\ngoog.exportSymbol('proto.ramius.UserInfoResp', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsReq', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsResp', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsResp.ListCase', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsResp.UserOrgInfo', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsResp.UserOrgInfoList', null, global);\ngoog.exportSymbol('proto.ramius.UserOrgsResp.UserOrgList', null, global);\ngoog.exportSymbol('proto.ramius.UserReq', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Empty = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.Empty, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Empty.displayName = 'proto.ramius.Empty';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FeaturesResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.FeaturesResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FeaturesResp.displayName = 'proto.ramius.FeaturesResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ClaimsResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ClaimsResp.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ClaimsResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ClaimsResp.displayName = 'proto.ramius.ClaimsResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UserReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserReq.displayName = 'proto.ramius.UserReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserInfoResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UserInfoResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserInfoResp.displayName = 'proto.ramius.UserInfoResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateUserReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UpdateUserReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateUserReq.displayName = 'proto.ramius.UpdateUserReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateUserReq.UserInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UpdateUserReq.UserInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateUserReq.UserInfo.displayName = 'proto.ramius.UpdateUserReq.UserInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserOrgsReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UserOrgsReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserOrgsReq.displayName = 'proto.ramius.UserOrgsReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserOrgsResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.UserOrgsResp.oneofGroups_);\n};\ngoog.inherits(proto.ramius.UserOrgsResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserOrgsResp.displayName = 'proto.ramius.UserOrgsResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserOrgsResp.UserOrgInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.UserOrgsResp.UserOrgInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.UserOrgsResp.UserOrgInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserOrgsResp.UserOrgInfo.displayName = 'proto.ramius.UserOrgsResp.UserOrgInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UserOrgsResp.UserOrgInfoList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserOrgsResp.UserOrgInfoList.displayName = 'proto.ramius.UserOrgsResp.UserOrgInfoList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserOrgsResp.UserOrgList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.UserOrgsResp.UserOrgList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.UserOrgsResp.UserOrgList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserOrgsResp.UserOrgList.displayName = 'proto.ramius.UserOrgsResp.UserOrgList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgUsersReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgUsersReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgUsersReq.displayName = 'proto.ramius.OrgUsersReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgResp.displayName = 'proto.ramius.OrgResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgReq.displayName = 'proto.ramius.OrgReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgUsersResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.OrgUsersResp.oneofGroups_);\n};\ngoog.inherits(proto.ramius.OrgUsersResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgUsersResp.displayName = 'proto.ramius.OrgUsersResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgUsersResp.OrgUserInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OrgUsersResp.OrgUserInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OrgUsersResp.OrgUserInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgUsersResp.OrgUserInfo.displayName = 'proto.ramius.OrgUsersResp.OrgUserInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgUsersResp.OrgUserInfoList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgUsersResp.OrgUserInfoList.displayName = 'proto.ramius.OrgUsersResp.OrgUserInfoList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgUsersResp.OrgUserList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OrgUsersResp.OrgUserList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OrgUsersResp.OrgUserList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgUsersResp.OrgUserList.displayName = 'proto.ramius.OrgUsersResp.OrgUserList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateOrgReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UpdateOrgReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateOrgReq.displayName = 'proto.ramius.UpdateOrgReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateOrgReq.OrgInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UpdateOrgReq.OrgInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateOrgReq.OrgInfo.displayName = 'proto.ramius.UpdateOrgReq.OrgInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddOrgUserInfoReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AddOrgUserInfoReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddOrgUserInfoReq.displayName = 'proto.ramius.AddOrgUserInfoReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.displayName = 'proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeleteOrgUserReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeleteOrgUserReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeleteOrgUserReq.displayName = 'proto.ramius.DeleteOrgUserReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateOrgUserInfoReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UpdateOrgUserInfoReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateOrgUserInfoReq.displayName = 'proto.ramius.UpdateOrgUserInfoReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.displayName = 'proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgSubReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgSubReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgSubReq.displayName = 'proto.ramius.OrgSubReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SubResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubResp.displayName = 'proto.ramius.SubResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubResp.SubItem = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SubResp.SubItem, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubResp.SubItem.displayName = 'proto.ramius.SubResp.SubItem';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PurchasedItems = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PurchasedItems, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PurchasedItems.displayName = 'proto.ramius.PurchasedItems';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PurchasedItemsReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PurchasedItemsReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PurchasedItemsReq.displayName = 'proto.ramius.PurchasedItemsReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PurchasedItemsResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PurchasedItemsResp.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PurchasedItemsResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PurchasedItemsResp.displayName = 'proto.ramius.PurchasedItemsResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AccessCookie = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AccessCookie, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AccessCookie.displayName = 'proto.ramius.AccessCookie';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CreateNewTenancyReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CreateNewTenancyReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CreateNewTenancyReq.displayName = 'proto.ramius.CreateNewTenancyReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CreateNewTenancyResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CreateNewTenancyResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CreateNewTenancyResp.displayName = 'proto.ramius.CreateNewTenancyResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddTrialSubReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AddTrialSubReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddTrialSubReq.displayName = 'proto.ramius.AddTrialSubReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AddTrialSubReq.AddTrialSubBody, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddTrialSubReq.AddTrialSubBody.displayName = 'proto.ramius.AddTrialSubReq.AddTrialSubBody';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddFreeSubReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AddFreeSubReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddFreeSubReq.displayName = 'proto.ramius.AddFreeSubReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AddFreeSubReq.AddFreeSubBody, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddFreeSubReq.AddFreeSubBody.displayName = 'proto.ramius.AddFreeSubReq.AddFreeSubBody';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InvitationResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.InvitationResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InvitationResp.displayName = 'proto.ramius.InvitationResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InventoryResults = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.InventoryResults.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.InventoryResults, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InventoryResults.displayName = 'proto.ramius.InventoryResults';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InventoryServiceItems = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.InventoryServiceItems, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InventoryServiceItems.displayName = 'proto.ramius.InventoryServiceItems';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InventoryTaskResult = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.InventoryTaskResult.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.InventoryTaskResult, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InventoryTaskResult.displayName = 'proto.ramius.InventoryTaskResult';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SendCustomerFeedbackRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SendCustomerFeedbackRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SendCustomerFeedbackRequest.displayName = 'proto.ramius.SendCustomerFeedbackRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SendCustomerFeedbackResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SendCustomerFeedbackResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SendCustomerFeedbackResponse.displayName = 'proto.ramius.SendCustomerFeedbackResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetOrgNameRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetOrgNameRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetOrgNameRequest.displayName = 'proto.ramius.SetOrgNameRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SetOrgNameResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SetOrgNameResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SetOrgNameResponse.displayName = 'proto.ramius.SetOrgNameResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UserDetails = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.UserDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UserDetails.displayName = 'proto.ramius.UserDetails';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddUsersRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AddUsersRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AddUsersRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddUsersRequest.displayName = 'proto.ramius.AddUsersRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AddUsersResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AddUsersResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AddUsersResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AddUsersResponse.displayName = 'proto.ramius.AddUsersResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EntitlementByTokenRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EntitlementByTokenRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EntitlementByTokenRequest.displayName = 'proto.ramius.EntitlementByTokenRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EntitlementByTokenResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EntitlementByTokenResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EntitlementByTokenResponse.displayName = 'proto.ramius.EntitlementByTokenResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Empty.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Empty.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Empty} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Empty.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Empty}\n */\nproto.ramius.Empty.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Empty;\n return proto.ramius.Empty.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Empty} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Empty}\n */\nproto.ramius.Empty.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Empty.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Empty.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Empty} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Empty.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FeaturesResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FeaturesResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FeaturesResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeaturesResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n trust: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n flow: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FeaturesResp}\n */\nproto.ramius.FeaturesResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FeaturesResp;\n return proto.ramius.FeaturesResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FeaturesResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FeaturesResp}\n */\nproto.ramius.FeaturesResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setTrust(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setFlow(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FeaturesResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FeaturesResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FeaturesResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeaturesResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTrust();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getFlow();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional bool Trust = 1;\n * @return {boolean}\n */\nproto.ramius.FeaturesResp.prototype.getTrust = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.FeaturesResp} returns this\n */\nproto.ramius.FeaturesResp.prototype.setTrust = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional bool Flow = 2;\n * @return {boolean}\n */\nproto.ramius.FeaturesResp.prototype.getFlow = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.FeaturesResp} returns this\n */\nproto.ramius.FeaturesResp.prototype.setFlow = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ClaimsResp.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ClaimsResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ClaimsResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ClaimsResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimsResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n claims: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n orgId: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n groupsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n sub: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ClaimsResp}\n */\nproto.ramius.ClaimsResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ClaimsResp;\n return proto.ramius.ClaimsResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ClaimsResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ClaimsResp}\n */\nproto.ramius.ClaimsResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setClaims(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 4:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addGroups(values[i]);\n }\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setSub(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ClaimsResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ClaimsResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ClaimsResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimsResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getClaims();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 4,\n f\n );\n }\n f = message.getSub();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.ClaimsResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.ClaimsResp} returns this\n*/\nproto.ramius.ClaimsResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ClaimsResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string claims = 2;\n * @return {string}\n */\nproto.ramius.ClaimsResp.prototype.getClaims = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.setClaims = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string org_id = 3;\n * @return {string}\n */\nproto.ramius.ClaimsResp.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated OrgGroup groups = 4;\n * @return {!Array}\n */\nproto.ramius.ClaimsResp.prototype.getGroupsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.setGroupsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @param {number=} opt_index\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.addGroups = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n/**\n * optional string sub = 5;\n * @return {string}\n */\nproto.ramius.ClaimsResp.prototype.getSub = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ClaimsResp} returns this\n */\nproto.ramius.ClaimsResp.prototype.setSub = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n user: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserReq}\n */\nproto.ramius.UserReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserReq;\n return proto.ramius.UserReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserReq}\n */\nproto.ramius.UserReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string user = 1;\n * @return {string}\n */\nproto.ramius.UserReq.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserReq} returns this\n */\nproto.ramius.UserReq.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool dryrun = 2;\n * @return {boolean}\n */\nproto.ramius.UserReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserReq} returns this\n */\nproto.ramius.UserReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserInfoResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserInfoResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserInfoResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserInfoResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n timeZone: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n theme: jspb.Message.getFieldWithDefault(msg, 3, 0),\n timeFormat: jspb.Message.getFieldWithDefault(msg, 4, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserInfoResp}\n */\nproto.ramius.UserInfoResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserInfoResp;\n return proto.ramius.UserInfoResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserInfoResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserInfoResp}\n */\nproto.ramius.UserInfoResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeZone(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.UiTheme} */ (reader.readEnum());\n msg.setTheme(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeFormat(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserInfoResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserInfoResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserInfoResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserInfoResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getTimeZone();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getTheme();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getTimeFormat();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.UserInfoResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.UserInfoResp} returns this\n*/\nproto.ramius.UserInfoResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserInfoResp} returns this\n */\nproto.ramius.UserInfoResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserInfoResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string time_zone = 2;\n * @return {string}\n */\nproto.ramius.UserInfoResp.prototype.getTimeZone = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserInfoResp} returns this\n */\nproto.ramius.UserInfoResp.prototype.setTimeZone = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional UiTheme theme = 3;\n * @return {!proto.ramius.UiTheme}\n */\nproto.ramius.UserInfoResp.prototype.getTheme = function() {\n return /** @type {!proto.ramius.UiTheme} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UiTheme} value\n * @return {!proto.ramius.UserInfoResp} returns this\n */\nproto.ramius.UserInfoResp.prototype.setTheme = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional string time_format = 4;\n * @return {string}\n */\nproto.ramius.UserInfoResp.prototype.getTimeFormat = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserInfoResp} returns this\n */\nproto.ramius.UserInfoResp.prototype.setTimeFormat = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateUserReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateUserReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateUserReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateUserReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n user: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n userInfoBody: (f = msg.getUserInfoBody()) && proto.ramius.UpdateUserReq.UserInfo.toObject(includeInstance, f),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateUserReq}\n */\nproto.ramius.UpdateUserReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateUserReq;\n return proto.ramius.UpdateUserReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateUserReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateUserReq}\n */\nproto.ramius.UpdateUserReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 2:\n var value = new proto.ramius.UpdateUserReq.UserInfo;\n reader.readMessage(value,proto.ramius.UpdateUserReq.UserInfo.deserializeBinaryFromReader);\n msg.setUserInfoBody(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateUserReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateUserReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateUserReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateUserReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getUserInfoBody();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.UpdateUserReq.UserInfo.serializeBinaryToWriter\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateUserReq.UserInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateUserReq.UserInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateUserReq.UserInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n timeZone: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n theme: jspb.Message.getFieldWithDefault(msg, 2, 0),\n timeFormat: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n tracking: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateUserReq.UserInfo}\n */\nproto.ramius.UpdateUserReq.UserInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateUserReq.UserInfo;\n return proto.ramius.UpdateUserReq.UserInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateUserReq.UserInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateUserReq.UserInfo}\n */\nproto.ramius.UpdateUserReq.UserInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeZone(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.UiTheme} */ (reader.readEnum());\n msg.setTheme(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeFormat(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.UserTracking} */ (reader.readEnum());\n msg.setTracking(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateUserReq.UserInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateUserReq.UserInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateUserReq.UserInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTimeZone();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getTheme();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getTimeFormat();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getTracking();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string time_zone = 1;\n * @return {string}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.getTimeZone = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateUserReq.UserInfo} returns this\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.setTimeZone = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional UiTheme theme = 2;\n * @return {!proto.ramius.UiTheme}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.getTheme = function() {\n return /** @type {!proto.ramius.UiTheme} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UiTheme} value\n * @return {!proto.ramius.UpdateUserReq.UserInfo} returns this\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.setTheme = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional string time_format = 3;\n * @return {string}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.getTimeFormat = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateUserReq.UserInfo} returns this\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.setTimeFormat = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional UserTracking tracking = 4;\n * @return {!proto.ramius.UserTracking}\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.getTracking = function() {\n return /** @type {!proto.ramius.UserTracking} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UserTracking} value\n * @return {!proto.ramius.UpdateUserReq.UserInfo} returns this\n */\nproto.ramius.UpdateUserReq.UserInfo.prototype.setTracking = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n/**\n * optional string user = 1;\n * @return {string}\n */\nproto.ramius.UpdateUserReq.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateUserReq} returns this\n */\nproto.ramius.UpdateUserReq.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional UserInfo user_info_body = 2;\n * @return {?proto.ramius.UpdateUserReq.UserInfo}\n */\nproto.ramius.UpdateUserReq.prototype.getUserInfoBody = function() {\n return /** @type{?proto.ramius.UpdateUserReq.UserInfo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.UpdateUserReq.UserInfo, 2));\n};\n\n\n/**\n * @param {?proto.ramius.UpdateUserReq.UserInfo|undefined} value\n * @return {!proto.ramius.UpdateUserReq} returns this\n*/\nproto.ramius.UpdateUserReq.prototype.setUserInfoBody = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UpdateUserReq} returns this\n */\nproto.ramius.UpdateUserReq.prototype.clearUserInfoBody = function() {\n return this.setUserInfoBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UpdateUserReq.prototype.hasUserInfoBody = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool dryrun = 3;\n * @return {boolean}\n */\nproto.ramius.UpdateUserReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UpdateUserReq} returns this\n */\nproto.ramius.UpdateUserReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserOrgsReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserOrgsReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserOrgsReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n user: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n listonly: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserOrgsReq}\n */\nproto.ramius.UserOrgsReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserOrgsReq;\n return proto.ramius.UserOrgsReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserOrgsReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserOrgsReq}\n */\nproto.ramius.UserOrgsReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setListonly(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserOrgsReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserOrgsReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserOrgsReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getListonly();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string user = 1;\n * @return {string}\n */\nproto.ramius.UserOrgsReq.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserOrgsReq} returns this\n */\nproto.ramius.UserOrgsReq.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool dryrun = 2;\n * @return {boolean}\n */\nproto.ramius.UserOrgsReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserOrgsReq} returns this\n */\nproto.ramius.UserOrgsReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional bool listonly = 3;\n * @return {boolean}\n */\nproto.ramius.UserOrgsReq.prototype.getListonly = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserOrgsReq} returns this\n */\nproto.ramius.UserOrgsReq.prototype.setListonly = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.UserOrgsResp.oneofGroups_ = [[2,3]];\n\n/**\n * @enum {number}\n */\nproto.ramius.UserOrgsResp.ListCase = {\n LIST_NOT_SET: 0,\n ORGS: 2,\n ORGSINFO: 3\n};\n\n/**\n * @return {proto.ramius.UserOrgsResp.ListCase}\n */\nproto.ramius.UserOrgsResp.prototype.getListCase = function() {\n return /** @type {proto.ramius.UserOrgsResp.ListCase} */(jspb.Message.computeOneofCase(this, proto.ramius.UserOrgsResp.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserOrgsResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserOrgsResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserOrgsResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n orgs: (f = msg.getOrgs()) && proto.ramius.UserOrgsResp.UserOrgList.toObject(includeInstance, f),\n orgsinfo: (f = msg.getOrgsinfo()) && proto.ramius.UserOrgsResp.UserOrgInfoList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserOrgsResp}\n */\nproto.ramius.UserOrgsResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserOrgsResp;\n return proto.ramius.UserOrgsResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserOrgsResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserOrgsResp}\n */\nproto.ramius.UserOrgsResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = new proto.ramius.UserOrgsResp.UserOrgList;\n reader.readMessage(value,proto.ramius.UserOrgsResp.UserOrgList.deserializeBinaryFromReader);\n msg.setOrgs(value);\n break;\n case 3:\n var value = new proto.ramius.UserOrgsResp.UserOrgInfoList;\n reader.readMessage(value,proto.ramius.UserOrgsResp.UserOrgInfoList.deserializeBinaryFromReader);\n msg.setOrgsinfo(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserOrgsResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserOrgsResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserOrgsResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getOrgs();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.UserOrgsResp.UserOrgList.serializeBinaryToWriter\n );\n }\n f = message.getOrgsinfo();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.UserOrgsResp.UserOrgInfoList.serializeBinaryToWriter\n );\n }\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserOrgsResp.UserOrgInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n suspended: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n groupsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserOrgsResp.UserOrgInfo;\n return proto.ramius.UserOrgsResp.UserOrgInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setType(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuspended(value);\n break;\n case 4:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addGroups(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserOrgsResp.UserOrgInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getType();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getSuspended();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.getType = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.setType = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool suspended = 3;\n * @return {boolean}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.getSuspended = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.setSuspended = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * repeated OrgGroup groups = 4;\n * @return {!Array}\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.getGroupsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.setGroupsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @param {number=} opt_index\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.addGroups = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfo} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfo.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserOrgsResp.UserOrgInfoList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfoList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgsMap: (f = msg.getOrgsMap()) ? f.toObject(includeInstance, proto.ramius.UserOrgsResp.UserOrgInfo.toObject) : []\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfoList}\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserOrgsResp.UserOrgInfoList;\n return proto.ramius.UserOrgsResp.UserOrgInfoList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfoList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfoList}\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getOrgsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.UserOrgsResp.UserOrgInfo.deserializeBinaryFromReader, \"\", new proto.ramius.UserOrgsResp.UserOrgInfo());\n });\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserOrgsResp.UserOrgInfoList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserOrgsResp.UserOrgInfoList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.UserOrgsResp.UserOrgInfo.serializeBinaryToWriter);\n }\n};\n\n\n/**\n * map orgs = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.prototype.getOrgsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n proto.ramius.UserOrgsResp.UserOrgInfo));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.UserOrgsResp.UserOrgInfoList} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgInfoList.prototype.clearOrgsMap = function() {\n this.getOrgsMap().clear();\n return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.UserOrgsResp.UserOrgList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserOrgsResp.UserOrgList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserOrgsResp.UserOrgList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgList.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserOrgsResp.UserOrgList}\n */\nproto.ramius.UserOrgsResp.UserOrgList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserOrgsResp.UserOrgList;\n return proto.ramius.UserOrgsResp.UserOrgList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserOrgsResp.UserOrgList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserOrgsResp.UserOrgList}\n */\nproto.ramius.UserOrgsResp.UserOrgList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addOrgs(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserOrgsResp.UserOrgList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserOrgsResp.UserOrgList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserOrgsResp.UserOrgList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string orgs = 1;\n * @return {!Array}\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.getOrgsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.UserOrgsResp.UserOrgList} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.setOrgsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.UserOrgsResp.UserOrgList} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.addOrgs = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.UserOrgsResp.UserOrgList} returns this\n */\nproto.ramius.UserOrgsResp.UserOrgList.prototype.clearOrgsList = function() {\n return this.setOrgsList([]);\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.UserOrgsResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.UserOrgsResp} returns this\n*/\nproto.ramius.UserOrgsResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserOrgsResp} returns this\n */\nproto.ramius.UserOrgsResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserOrgsResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional UserOrgList orgs = 2;\n * @return {?proto.ramius.UserOrgsResp.UserOrgList}\n */\nproto.ramius.UserOrgsResp.prototype.getOrgs = function() {\n return /** @type{?proto.ramius.UserOrgsResp.UserOrgList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.UserOrgsResp.UserOrgList, 2));\n};\n\n\n/**\n * @param {?proto.ramius.UserOrgsResp.UserOrgList|undefined} value\n * @return {!proto.ramius.UserOrgsResp} returns this\n*/\nproto.ramius.UserOrgsResp.prototype.setOrgs = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.UserOrgsResp.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserOrgsResp} returns this\n */\nproto.ramius.UserOrgsResp.prototype.clearOrgs = function() {\n return this.setOrgs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserOrgsResp.prototype.hasOrgs = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional UserOrgInfoList orgsinfo = 3;\n * @return {?proto.ramius.UserOrgsResp.UserOrgInfoList}\n */\nproto.ramius.UserOrgsResp.prototype.getOrgsinfo = function() {\n return /** @type{?proto.ramius.UserOrgsResp.UserOrgInfoList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.UserOrgsResp.UserOrgInfoList, 3));\n};\n\n\n/**\n * @param {?proto.ramius.UserOrgsResp.UserOrgInfoList|undefined} value\n * @return {!proto.ramius.UserOrgsResp} returns this\n*/\nproto.ramius.UserOrgsResp.prototype.setOrgsinfo = function(value) {\n return jspb.Message.setOneofWrapperField(this, 3, proto.ramius.UserOrgsResp.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserOrgsResp} returns this\n */\nproto.ramius.UserOrgsResp.prototype.clearOrgsinfo = function() {\n return this.setOrgsinfo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserOrgsResp.prototype.hasOrgsinfo = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgUsersReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgUsersReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgUsersReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n listonly: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgUsersReq}\n */\nproto.ramius.OrgUsersReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgUsersReq;\n return proto.ramius.OrgUsersReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgUsersReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgUsersReq}\n */\nproto.ramius.OrgUsersReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setListonly(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgUsersReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgUsersReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgUsersReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getListonly();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.OrgUsersReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgUsersReq} returns this\n */\nproto.ramius.OrgUsersReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool dryrun = 2;\n * @return {boolean}\n */\nproto.ramius.OrgUsersReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OrgUsersReq} returns this\n */\nproto.ramius.OrgUsersReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional bool listonly = 3;\n * @return {boolean}\n */\nproto.ramius.OrgUsersReq.prototype.getListonly = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OrgUsersReq} returns this\n */\nproto.ramius.OrgUsersReq.prototype.setListonly = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgResp}\n */\nproto.ramius.OrgResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgResp;\n return proto.ramius.OrgResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgResp}\n */\nproto.ramius.OrgResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getType();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.OrgResp.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgResp} returns this\n */\nproto.ramius.OrgResp.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string type = 2;\n * @return {string}\n */\nproto.ramius.OrgResp.prototype.getType = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgResp} returns this\n */\nproto.ramius.OrgResp.prototype.setType = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgReq}\n */\nproto.ramius.OrgReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgReq;\n return proto.ramius.OrgReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgReq}\n */\nproto.ramius.OrgReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.OrgReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgReq} returns this\n */\nproto.ramius.OrgReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool dryrun = 2;\n * @return {boolean}\n */\nproto.ramius.OrgReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OrgReq} returns this\n */\nproto.ramius.OrgReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.OrgUsersResp.oneofGroups_ = [[2,3]];\n\n/**\n * @enum {number}\n */\nproto.ramius.OrgUsersResp.ListCase = {\n LIST_NOT_SET: 0,\n USERS: 2,\n USERS_INFO: 3\n};\n\n/**\n * @return {proto.ramius.OrgUsersResp.ListCase}\n */\nproto.ramius.OrgUsersResp.prototype.getListCase = function() {\n return /** @type {proto.ramius.OrgUsersResp.ListCase} */(jspb.Message.computeOneofCase(this, proto.ramius.OrgUsersResp.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgUsersResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgUsersResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgUsersResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n users: (f = msg.getUsers()) && proto.ramius.OrgUsersResp.OrgUserList.toObject(includeInstance, f),\n usersInfo: (f = msg.getUsersInfo()) && proto.ramius.OrgUsersResp.OrgUserInfoList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgUsersResp}\n */\nproto.ramius.OrgUsersResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgUsersResp;\n return proto.ramius.OrgUsersResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgUsersResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgUsersResp}\n */\nproto.ramius.OrgUsersResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = new proto.ramius.OrgUsersResp.OrgUserList;\n reader.readMessage(value,proto.ramius.OrgUsersResp.OrgUserList.deserializeBinaryFromReader);\n msg.setUsers(value);\n break;\n case 3:\n var value = new proto.ramius.OrgUsersResp.OrgUserInfoList;\n reader.readMessage(value,proto.ramius.OrgUsersResp.OrgUserInfoList.deserializeBinaryFromReader);\n msg.setUsersInfo(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgUsersResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgUsersResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgUsersResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getUsers();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.OrgUsersResp.OrgUserList.serializeBinaryToWriter\n );\n }\n f = message.getUsersInfo();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.OrgUsersResp.OrgUserInfoList.serializeBinaryToWriter\n );\n }\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgUsersResp.OrgUserInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n groupsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n lastLogin: (f = msg.getLastLogin()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n suspended: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgUsersResp.OrgUserInfo;\n return proto.ramius.OrgUsersResp.OrgUserInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addGroups(values[i]);\n }\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastLogin(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuspended(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgUsersResp.OrgUserInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 1,\n f\n );\n }\n f = message.getLastLogin();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSuspended();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * repeated OrgGroup groups = 1;\n * @return {!Array}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.getGroupsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.setGroupsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.addGroups = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_login = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.getLastLogin = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n*/\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.setLastLogin = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.clearLastLogin = function() {\n return this.setLastLogin(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.hasLastLogin = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool suspended = 3;\n * @return {boolean}\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.getSuspended = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfo} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfo.prototype.setSuspended = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgUsersResp.OrgUserInfoList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfoList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.toObject = function(includeInstance, msg) {\n var f, obj = {\n usersMap: (f = msg.getUsersMap()) ? f.toObject(includeInstance, proto.ramius.OrgUsersResp.OrgUserInfo.toObject) : []\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfoList}\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgUsersResp.OrgUserInfoList;\n return proto.ramius.OrgUsersResp.OrgUserInfoList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfoList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfoList}\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = msg.getUsersMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.OrgUsersResp.OrgUserInfo.deserializeBinaryFromReader, \"\", new proto.ramius.OrgUsersResp.OrgUserInfo());\n });\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgUsersResp.OrgUserInfoList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgUsersResp.OrgUserInfoList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUsersMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(1, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.OrgUsersResp.OrgUserInfo.serializeBinaryToWriter);\n }\n};\n\n\n/**\n * map users = 1;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.prototype.getUsersMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 1, opt_noLazyCreate,\n proto.ramius.OrgUsersResp.OrgUserInfo));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.OrgUsersResp.OrgUserInfoList} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserInfoList.prototype.clearUsersMap = function() {\n this.getUsersMap().clear();\n return this;};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OrgUsersResp.OrgUserList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgUsersResp.OrgUserList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgUsersResp.OrgUserList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserList.toObject = function(includeInstance, msg) {\n var f, obj = {\n usersList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgUsersResp.OrgUserList}\n */\nproto.ramius.OrgUsersResp.OrgUserList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgUsersResp.OrgUserList;\n return proto.ramius.OrgUsersResp.OrgUserList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgUsersResp.OrgUserList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgUsersResp.OrgUserList}\n */\nproto.ramius.OrgUsersResp.OrgUserList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addUsers(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgUsersResp.OrgUserList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgUsersResp.OrgUserList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgUsersResp.OrgUserList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUsersList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string users = 1;\n * @return {!Array}\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.getUsersList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OrgUsersResp.OrgUserList} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.setUsersList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OrgUsersResp.OrgUserList} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.addUsers = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OrgUsersResp.OrgUserList} returns this\n */\nproto.ramius.OrgUsersResp.OrgUserList.prototype.clearUsersList = function() {\n return this.setUsersList([]);\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.OrgUsersResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.OrgUsersResp} returns this\n*/\nproto.ramius.OrgUsersResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgUsersResp} returns this\n */\nproto.ramius.OrgUsersResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgUsersResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional OrgUserList users = 2;\n * @return {?proto.ramius.OrgUsersResp.OrgUserList}\n */\nproto.ramius.OrgUsersResp.prototype.getUsers = function() {\n return /** @type{?proto.ramius.OrgUsersResp.OrgUserList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.OrgUsersResp.OrgUserList, 2));\n};\n\n\n/**\n * @param {?proto.ramius.OrgUsersResp.OrgUserList|undefined} value\n * @return {!proto.ramius.OrgUsersResp} returns this\n*/\nproto.ramius.OrgUsersResp.prototype.setUsers = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.OrgUsersResp.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgUsersResp} returns this\n */\nproto.ramius.OrgUsersResp.prototype.clearUsers = function() {\n return this.setUsers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgUsersResp.prototype.hasUsers = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional OrgUserInfoList users_info = 3;\n * @return {?proto.ramius.OrgUsersResp.OrgUserInfoList}\n */\nproto.ramius.OrgUsersResp.prototype.getUsersInfo = function() {\n return /** @type{?proto.ramius.OrgUsersResp.OrgUserInfoList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.OrgUsersResp.OrgUserInfoList, 3));\n};\n\n\n/**\n * @param {?proto.ramius.OrgUsersResp.OrgUserInfoList|undefined} value\n * @return {!proto.ramius.OrgUsersResp} returns this\n*/\nproto.ramius.OrgUsersResp.prototype.setUsersInfo = function(value) {\n return jspb.Message.setOneofWrapperField(this, 3, proto.ramius.OrgUsersResp.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgUsersResp} returns this\n */\nproto.ramius.OrgUsersResp.prototype.clearUsersInfo = function() {\n return this.setUsersInfo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgUsersResp.prototype.hasUsersInfo = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateOrgReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateOrgReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateOrgReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n orgInfoBody: (f = msg.getOrgInfoBody()) && proto.ramius.UpdateOrgReq.OrgInfo.toObject(includeInstance, f),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateOrgReq}\n */\nproto.ramius.UpdateOrgReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateOrgReq;\n return proto.ramius.UpdateOrgReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateOrgReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateOrgReq}\n */\nproto.ramius.UpdateOrgReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = new proto.ramius.UpdateOrgReq.OrgInfo;\n reader.readMessage(value,proto.ramius.UpdateOrgReq.OrgInfo.deserializeBinaryFromReader);\n msg.setOrgInfoBody(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateOrgReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateOrgReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateOrgReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getOrgInfoBody();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.UpdateOrgReq.OrgInfo.serializeBinaryToWriter\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateOrgReq.OrgInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateOrgReq.OrgInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateOrgReq.OrgInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgReq.OrgInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateOrgReq.OrgInfo}\n */\nproto.ramius.UpdateOrgReq.OrgInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateOrgReq.OrgInfo;\n return proto.ramius.UpdateOrgReq.OrgInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateOrgReq.OrgInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateOrgReq.OrgInfo}\n */\nproto.ramius.UpdateOrgReq.OrgInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateOrgReq.OrgInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateOrgReq.OrgInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateOrgReq.OrgInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgReq.OrgInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.UpdateOrgReq.OrgInfo.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateOrgReq.OrgInfo} returns this\n */\nproto.ramius.UpdateOrgReq.OrgInfo.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.UpdateOrgReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateOrgReq} returns this\n */\nproto.ramius.UpdateOrgReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional OrgInfo org_info_body = 2;\n * @return {?proto.ramius.UpdateOrgReq.OrgInfo}\n */\nproto.ramius.UpdateOrgReq.prototype.getOrgInfoBody = function() {\n return /** @type{?proto.ramius.UpdateOrgReq.OrgInfo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.UpdateOrgReq.OrgInfo, 2));\n};\n\n\n/**\n * @param {?proto.ramius.UpdateOrgReq.OrgInfo|undefined} value\n * @return {!proto.ramius.UpdateOrgReq} returns this\n*/\nproto.ramius.UpdateOrgReq.prototype.setOrgInfoBody = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UpdateOrgReq} returns this\n */\nproto.ramius.UpdateOrgReq.prototype.clearOrgInfoBody = function() {\n return this.setOrgInfoBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UpdateOrgReq.prototype.hasOrgInfoBody = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool dryrun = 3;\n * @return {boolean}\n */\nproto.ramius.UpdateOrgReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UpdateOrgReq} returns this\n */\nproto.ramius.UpdateOrgReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddOrgUserInfoReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddOrgUserInfoReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddOrgUserInfoReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n addOrgUserInfoBody: (f = msg.getAddOrgUserInfoBody()) && proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.toObject(includeInstance, f),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddOrgUserInfoReq}\n */\nproto.ramius.AddOrgUserInfoReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddOrgUserInfoReq;\n return proto.ramius.AddOrgUserInfoReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddOrgUserInfoReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddOrgUserInfoReq}\n */\nproto.ramius.AddOrgUserInfoReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = new proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody;\n reader.readMessage(value,proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.deserializeBinaryFromReader);\n msg.setAddOrgUserInfoBody(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddOrgUserInfoReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddOrgUserInfoReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddOrgUserInfoReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getAddOrgUserInfoBody();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.serializeBinaryToWriter\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.toObject = function(includeInstance, msg) {\n var f, obj = {\n user: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n groupsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n suspend: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody;\n return proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 2:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addGroups(values[i]);\n }\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuspend(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 2,\n f\n );\n }\n f = message.getSuspend();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string user = 1;\n * @return {string}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} returns this\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * repeated OrgGroup groups = 2;\n * @return {!Array}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.getGroupsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} returns this\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.setGroupsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} returns this\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.addGroups = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} returns this\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n/**\n * optional bool suspend = 3;\n * @return {boolean}\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.getSuspend = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} returns this\n */\nproto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody.prototype.setSuspend = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AddOrgUserInfoReq} returns this\n */\nproto.ramius.AddOrgUserInfoReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional AddOrgUserInfoBody add_org_user_info_body = 2;\n * @return {?proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.getAddOrgUserInfoBody = function() {\n return /** @type{?proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody, 2));\n};\n\n\n/**\n * @param {?proto.ramius.AddOrgUserInfoReq.AddOrgUserInfoBody|undefined} value\n * @return {!proto.ramius.AddOrgUserInfoReq} returns this\n*/\nproto.ramius.AddOrgUserInfoReq.prototype.setAddOrgUserInfoBody = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AddOrgUserInfoReq} returns this\n */\nproto.ramius.AddOrgUserInfoReq.prototype.clearAddOrgUserInfoBody = function() {\n return this.setAddOrgUserInfoBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.hasAddOrgUserInfoBody = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional bool dryrun = 3;\n * @return {boolean}\n */\nproto.ramius.AddOrgUserInfoReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.AddOrgUserInfoReq} returns this\n */\nproto.ramius.AddOrgUserInfoReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeleteOrgUserReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeleteOrgUserReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeleteOrgUserReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteOrgUserReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n user: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeleteOrgUserReq}\n */\nproto.ramius.DeleteOrgUserReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeleteOrgUserReq;\n return proto.ramius.DeleteOrgUserReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeleteOrgUserReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeleteOrgUserReq}\n */\nproto.ramius.DeleteOrgUserReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeleteOrgUserReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeleteOrgUserReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeleteOrgUserReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeleteOrgUserReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.DeleteOrgUserReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteOrgUserReq} returns this\n */\nproto.ramius.DeleteOrgUserReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string user = 2;\n * @return {string}\n */\nproto.ramius.DeleteOrgUserReq.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeleteOrgUserReq} returns this\n */\nproto.ramius.DeleteOrgUserReq.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bool dryrun = 3;\n * @return {boolean}\n */\nproto.ramius.DeleteOrgUserReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.DeleteOrgUserReq} returns this\n */\nproto.ramius.DeleteOrgUserReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateOrgUserInfoReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateOrgUserInfoReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgUserInfoReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n user: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n updateOrgUserInfoBody: (f = msg.getUpdateOrgUserInfoBody()) && proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.toObject(includeInstance, f),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateOrgUserInfoReq}\n */\nproto.ramius.UpdateOrgUserInfoReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateOrgUserInfoReq;\n return proto.ramius.UpdateOrgUserInfoReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateOrgUserInfoReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateOrgUserInfoReq}\n */\nproto.ramius.UpdateOrgUserInfoReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 3:\n var value = new proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody;\n reader.readMessage(value,proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.deserializeBinaryFromReader);\n msg.setUpdateOrgUserInfoBody(value);\n break;\n case 4:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateOrgUserInfoReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateOrgUserInfoReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgUserInfoReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getUpdateOrgUserInfoBody();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.serializeBinaryToWriter\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 4,\n f\n );\n }\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.toObject = function(includeInstance, msg) {\n var f, obj = {\n groupsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n suspend: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody;\n return proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addGroups(values[i]);\n }\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSuspend(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGroupsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 1,\n f\n );\n }\n f = message.getSuspend();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated OrgGroup groups = 1;\n * @return {!Array}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.getGroupsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.setGroupsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @param {number=} opt_index\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.addGroups = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.clearGroupsList = function() {\n return this.setGroupsList([]);\n};\n\n\n/**\n * optional bool suspend = 2;\n * @return {boolean}\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.getSuspend = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody.prototype.setSuspend = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string user = 2;\n * @return {string}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional UpdateOrgUserInfoBody update_org_user_info_body = 3;\n * @return {?proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.getUpdateOrgUserInfoBody = function() {\n return /** @type{?proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody} */ (\n jspb.Message.getWrapperField(this, proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody, 3));\n};\n\n\n/**\n * @param {?proto.ramius.UpdateOrgUserInfoReq.UpdateOrgUserInfoBody|undefined} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq} returns this\n*/\nproto.ramius.UpdateOrgUserInfoReq.prototype.setUpdateOrgUserInfoBody = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UpdateOrgUserInfoReq} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.clearUpdateOrgUserInfoBody = function() {\n return this.setUpdateOrgUserInfoBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.hasUpdateOrgUserInfoBody = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional bool dryrun = 4;\n * @return {boolean}\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UpdateOrgUserInfoReq} returns this\n */\nproto.ramius.UpdateOrgUserInfoReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgSubReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgSubReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgSubReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgSubReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n dryrun: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgSubReq}\n */\nproto.ramius.OrgSubReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgSubReq;\n return proto.ramius.OrgSubReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgSubReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgSubReq}\n */\nproto.ramius.OrgSubReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDryrun(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgSubReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgSubReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgSubReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgSubReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getDryrun();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.OrgSubReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgSubReq} returns this\n */\nproto.ramius.OrgSubReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool dryrun = 2;\n * @return {boolean}\n */\nproto.ramius.OrgSubReq.prototype.getDryrun = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.OrgSubReq} returns this\n */\nproto.ramius.OrgSubReq.prototype.setDryrun = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n state: jspb.Message.getFieldWithDefault(msg, 2, 0),\n itemsMap: (f = msg.getItemsMap()) ? f.toObject(includeInstance, proto.ramius.SubResp.SubItem.toObject) : []\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubResp}\n */\nproto.ramius.SubResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubResp;\n return proto.ramius.SubResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubResp}\n */\nproto.ramius.SubResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.SubState} */ (reader.readEnum());\n msg.setState(value);\n break;\n case 3:\n var value = msg.getItemsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.SubResp.SubItem.deserializeBinaryFromReader, \"\", new proto.ramius.SubResp.SubItem());\n });\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getItemsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.SubResp.SubItem.serializeBinaryToWriter);\n }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubResp.SubItem.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubResp.SubItem.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubResp.SubItem} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubResp.SubItem.toObject = function(includeInstance, msg) {\n var f, obj = {\n servicename: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n quantity: jspb.Message.getFieldWithDefault(msg, 2, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubResp.SubItem}\n */\nproto.ramius.SubResp.SubItem.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubResp.SubItem;\n return proto.ramius.SubResp.SubItem.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubResp.SubItem} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubResp.SubItem}\n */\nproto.ramius.SubResp.SubItem.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setServicename(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setQuantity(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubResp.SubItem.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubResp.SubItem.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubResp.SubItem} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubResp.SubItem.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getServicename();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getQuantity();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string servicename = 1;\n * @return {string}\n */\nproto.ramius.SubResp.SubItem.prototype.getServicename = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SubResp.SubItem} returns this\n */\nproto.ramius.SubResp.SubItem.prototype.setServicename = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 quantity = 2;\n * @return {number}\n */\nproto.ramius.SubResp.SubItem.prototype.getQuantity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubResp.SubItem} returns this\n */\nproto.ramius.SubResp.SubItem.prototype.setQuantity = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional bool enabled = 3;\n * @return {boolean}\n */\nproto.ramius.SubResp.SubItem.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SubResp.SubItem} returns this\n */\nproto.ramius.SubResp.SubItem.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.SubResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.SubResp} returns this\n*/\nproto.ramius.SubResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SubResp} returns this\n */\nproto.ramius.SubResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SubResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional SubState state = 2;\n * @return {!proto.ramius.SubState}\n */\nproto.ramius.SubResp.prototype.getState = function() {\n return /** @type {!proto.ramius.SubState} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubState} value\n * @return {!proto.ramius.SubResp} returns this\n */\nproto.ramius.SubResp.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * map items = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.SubResp.prototype.getItemsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n proto.ramius.SubResp.SubItem));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.SubResp} returns this\n */\nproto.ramius.SubResp.prototype.clearItemsMap = function() {\n this.getItemsMap().clear();\n return this;};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PurchasedItems.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PurchasedItems.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PurchasedItems} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItems.toObject = function(includeInstance, msg) {\n var f, obj = {\n productId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n quantity: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PurchasedItems}\n */\nproto.ramius.PurchasedItems.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PurchasedItems;\n return proto.ramius.PurchasedItems.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PurchasedItems} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PurchasedItems}\n */\nproto.ramius.PurchasedItems.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionProductId} */ (reader.readEnum());\n msg.setProductId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setQuantity(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PurchasedItems.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PurchasedItems.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PurchasedItems} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItems.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProductId();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getQuantity();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionProductId product_id = 1;\n * @return {!proto.ramius.SubscriptionProductId}\n */\nproto.ramius.PurchasedItems.prototype.getProductId = function() {\n return /** @type {!proto.ramius.SubscriptionProductId} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionProductId} value\n * @return {!proto.ramius.PurchasedItems} returns this\n */\nproto.ramius.PurchasedItems.prototype.setProductId = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional int64 quantity = 2;\n * @return {number}\n */\nproto.ramius.PurchasedItems.prototype.getQuantity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PurchasedItems} returns this\n */\nproto.ramius.PurchasedItems.prototype.setQuantity = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PurchasedItemsReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PurchasedItemsReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PurchasedItemsReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItemsReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PurchasedItemsReq}\n */\nproto.ramius.PurchasedItemsReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PurchasedItemsReq;\n return proto.ramius.PurchasedItemsReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PurchasedItemsReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PurchasedItemsReq}\n */\nproto.ramius.PurchasedItemsReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PurchasedItemsReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PurchasedItemsReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PurchasedItemsReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItemsReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.PurchasedItemsReq.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PurchasedItemsReq} returns this\n */\nproto.ramius.PurchasedItemsReq.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PurchasedItemsResp.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PurchasedItemsResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PurchasedItemsResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PurchasedItemsResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItemsResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n itemsList: jspb.Message.toObjectList(msg.getItemsList(),\n proto.ramius.PurchasedItems.toObject, includeInstance),\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PurchasedItemsResp}\n */\nproto.ramius.PurchasedItemsResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PurchasedItemsResp;\n return proto.ramius.PurchasedItemsResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PurchasedItemsResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PurchasedItemsResp}\n */\nproto.ramius.PurchasedItemsResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PurchasedItems;\n reader.readMessage(value,proto.ramius.PurchasedItems.deserializeBinaryFromReader);\n msg.addItems(value);\n break;\n case 2:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PurchasedItemsResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PurchasedItemsResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PurchasedItemsResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PurchasedItemsResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getItemsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PurchasedItems.serializeBinaryToWriter\n );\n }\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated PurchasedItems items = 1;\n * @return {!Array}\n */\nproto.ramius.PurchasedItemsResp.prototype.getItemsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PurchasedItems, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PurchasedItemsResp} returns this\n*/\nproto.ramius.PurchasedItemsResp.prototype.setItemsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PurchasedItems=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PurchasedItems}\n */\nproto.ramius.PurchasedItemsResp.prototype.addItems = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PurchasedItems, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PurchasedItemsResp} returns this\n */\nproto.ramius.PurchasedItemsResp.prototype.clearItemsList = function() {\n return this.setItemsList([]);\n};\n\n\n/**\n * optional Error error = 2;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.PurchasedItemsResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.PurchasedItemsResp} returns this\n*/\nproto.ramius.PurchasedItemsResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PurchasedItemsResp} returns this\n */\nproto.ramius.PurchasedItemsResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PurchasedItemsResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AccessCookie.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AccessCookie.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AccessCookie} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AccessCookie.toObject = function(includeInstance, msg) {\n var f, obj = {\n token: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n csrf: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n optoken: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AccessCookie}\n */\nproto.ramius.AccessCookie.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AccessCookie;\n return proto.ramius.AccessCookie.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AccessCookie} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AccessCookie}\n */\nproto.ramius.AccessCookie.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setToken(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setCsrf(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setOptoken(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AccessCookie.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AccessCookie.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AccessCookie} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AccessCookie.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getToken();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getCsrf();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getOptoken();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string token = 1;\n * @return {string}\n */\nproto.ramius.AccessCookie.prototype.getToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AccessCookie} returns this\n */\nproto.ramius.AccessCookie.prototype.setToken = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string csrf = 2;\n * @return {string}\n */\nproto.ramius.AccessCookie.prototype.getCsrf = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AccessCookie} returns this\n */\nproto.ramius.AccessCookie.prototype.setCsrf = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string optoken = 3;\n * @return {string}\n */\nproto.ramius.AccessCookie.prototype.getOptoken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AccessCookie} returns this\n */\nproto.ramius.AccessCookie.prototype.setOptoken = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CreateNewTenancyReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CreateNewTenancyReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CreateNewTenancyReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CreateNewTenancyReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n email: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n companyName: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n jobTitle: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n phoneNumber: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n country: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n networkType: jspb.Message.getFieldWithDefault(msg, 7, 0),\n purchaseMethod: jspb.Message.getFieldWithDefault(msg, 8, 0),\n isTrial: jspb.Message.getBooleanFieldWithDefault(msg, 9, false),\n subscriptionId: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n timeZone: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n theme: jspb.Message.getFieldWithDefault(msg, 12, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CreateNewTenancyReq}\n */\nproto.ramius.CreateNewTenancyReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CreateNewTenancyReq;\n return proto.ramius.CreateNewTenancyReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CreateNewTenancyReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CreateNewTenancyReq}\n */\nproto.ramius.CreateNewTenancyReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setEmail(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setCompanyName(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setJobTitle(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPhoneNumber(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountry(value);\n break;\n case 7:\n var value = /** @type {!proto.ramius.NetworkType} */ (reader.readEnum());\n msg.setNetworkType(value);\n break;\n case 8:\n var value = /** @type {!proto.ramius.PurchaseMethod} */ (reader.readEnum());\n msg.setPurchaseMethod(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsTrial(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setSubscriptionId(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeZone(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.UiTheme} */ (reader.readEnum());\n msg.setTheme(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CreateNewTenancyReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CreateNewTenancyReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CreateNewTenancyReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CreateNewTenancyReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getEmail();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getCompanyName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getJobTitle();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getPhoneNumber();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getCountry();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getNetworkType();\n if (f !== 0.0) {\n writer.writeEnum(\n 7,\n f\n );\n }\n f = message.getPurchaseMethod();\n if (f !== 0.0) {\n writer.writeEnum(\n 8,\n f\n );\n }\n f = message.getIsTrial();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n f = message.getSubscriptionId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getTimeZone();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getTheme();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string email = 2;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string company_name = 3;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getCompanyName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setCompanyName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string job_title = 4;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getJobTitle = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setJobTitle = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string phone_number = 5;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getPhoneNumber = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setPhoneNumber = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string country = 6;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getCountry = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setCountry = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional NetworkType network_type = 7;\n * @return {!proto.ramius.NetworkType}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getNetworkType = function() {\n return /** @type {!proto.ramius.NetworkType} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.ramius.NetworkType} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setNetworkType = function(value) {\n return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * optional PurchaseMethod purchase_method = 8;\n * @return {!proto.ramius.PurchaseMethod}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getPurchaseMethod = function() {\n return /** @type {!proto.ramius.PurchaseMethod} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {!proto.ramius.PurchaseMethod} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setPurchaseMethod = function(value) {\n return jspb.Message.setProto3EnumField(this, 8, value);\n};\n\n\n/**\n * optional bool is_trial = 9;\n * @return {boolean}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getIsTrial = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setIsTrial = function(value) {\n return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n/**\n * optional string subscription_id = 10;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getSubscriptionId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setSubscriptionId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string time_zone = 11;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getTimeZone = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setTimeZone = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional UiTheme theme = 12;\n * @return {!proto.ramius.UiTheme}\n */\nproto.ramius.CreateNewTenancyReq.prototype.getTheme = function() {\n return /** @type {!proto.ramius.UiTheme} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UiTheme} value\n * @return {!proto.ramius.CreateNewTenancyReq} returns this\n */\nproto.ramius.CreateNewTenancyReq.prototype.setTheme = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CreateNewTenancyResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CreateNewTenancyResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CreateNewTenancyResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CreateNewTenancyResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n orgId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n subscriptionId: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n subscriptionType: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CreateNewTenancyResp}\n */\nproto.ramius.CreateNewTenancyResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CreateNewTenancyResp;\n return proto.ramius.CreateNewTenancyResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CreateNewTenancyResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CreateNewTenancyResp}\n */\nproto.ramius.CreateNewTenancyResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setSubscriptionId(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.SubscriptionType} */ (reader.readEnum());\n msg.setSubscriptionType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CreateNewTenancyResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CreateNewTenancyResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CreateNewTenancyResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CreateNewTenancyResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getSubscriptionId();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getSubscriptionType();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.CreateNewTenancyResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.CreateNewTenancyResp} returns this\n*/\nproto.ramius.CreateNewTenancyResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CreateNewTenancyResp} returns this\n */\nproto.ramius.CreateNewTenancyResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CreateNewTenancyResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string org_id = 2;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyResp.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyResp} returns this\n */\nproto.ramius.CreateNewTenancyResp.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string subscription_id = 3;\n * @return {string}\n */\nproto.ramius.CreateNewTenancyResp.prototype.getSubscriptionId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CreateNewTenancyResp} returns this\n */\nproto.ramius.CreateNewTenancyResp.prototype.setSubscriptionId = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional SubscriptionType subscription_type = 4;\n * @return {!proto.ramius.SubscriptionType}\n */\nproto.ramius.CreateNewTenancyResp.prototype.getSubscriptionType = function() {\n return /** @type {!proto.ramius.SubscriptionType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionType} value\n * @return {!proto.ramius.CreateNewTenancyResp} returns this\n */\nproto.ramius.CreateNewTenancyResp.prototype.setSubscriptionType = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddTrialSubReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddTrialSubReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddTrialSubReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddTrialSubReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n addTrialSubsBody: (f = msg.getAddTrialSubsBody()) && proto.ramius.AddTrialSubReq.AddTrialSubBody.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddTrialSubReq}\n */\nproto.ramius.AddTrialSubReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddTrialSubReq;\n return proto.ramius.AddTrialSubReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddTrialSubReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddTrialSubReq}\n */\nproto.ramius.AddTrialSubReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AddTrialSubReq.AddTrialSubBody;\n reader.readMessage(value,proto.ramius.AddTrialSubReq.AddTrialSubBody.deserializeBinaryFromReader);\n msg.setAddTrialSubsBody(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddTrialSubReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddTrialSubReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddTrialSubReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddTrialSubReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddTrialSubsBody();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.AddTrialSubReq.AddTrialSubBody.serializeBinaryToWriter\n );\n }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddTrialSubReq.AddTrialSubBody.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddTrialSubReq.AddTrialSubBody} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.toObject = function(includeInstance, msg) {\n var f, obj = {\n serviceName: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddTrialSubReq.AddTrialSubBody}\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddTrialSubReq.AddTrialSubBody;\n return proto.ramius.AddTrialSubReq.AddTrialSubBody.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddTrialSubReq.AddTrialSubBody} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddTrialSubReq.AddTrialSubBody}\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.ServiceName} */ (reader.readEnum());\n msg.setServiceName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddTrialSubReq.AddTrialSubBody.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddTrialSubReq.AddTrialSubBody} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getServiceName();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional ServiceName service_name = 1;\n * @return {!proto.ramius.ServiceName}\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.prototype.getServiceName = function() {\n return /** @type {!proto.ramius.ServiceName} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ServiceName} value\n * @return {!proto.ramius.AddTrialSubReq.AddTrialSubBody} returns this\n */\nproto.ramius.AddTrialSubReq.AddTrialSubBody.prototype.setServiceName = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional AddTrialSubBody add_trial_subs_body = 1;\n * @return {?proto.ramius.AddTrialSubReq.AddTrialSubBody}\n */\nproto.ramius.AddTrialSubReq.prototype.getAddTrialSubsBody = function() {\n return /** @type{?proto.ramius.AddTrialSubReq.AddTrialSubBody} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AddTrialSubReq.AddTrialSubBody, 1));\n};\n\n\n/**\n * @param {?proto.ramius.AddTrialSubReq.AddTrialSubBody|undefined} value\n * @return {!proto.ramius.AddTrialSubReq} returns this\n*/\nproto.ramius.AddTrialSubReq.prototype.setAddTrialSubsBody = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AddTrialSubReq} returns this\n */\nproto.ramius.AddTrialSubReq.prototype.clearAddTrialSubsBody = function() {\n return this.setAddTrialSubsBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AddTrialSubReq.prototype.hasAddTrialSubsBody = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddFreeSubReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddFreeSubReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddFreeSubReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddFreeSubReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n addFreeSubsBody: (f = msg.getAddFreeSubsBody()) && proto.ramius.AddFreeSubReq.AddFreeSubBody.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddFreeSubReq}\n */\nproto.ramius.AddFreeSubReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddFreeSubReq;\n return proto.ramius.AddFreeSubReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddFreeSubReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddFreeSubReq}\n */\nproto.ramius.AddFreeSubReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AddFreeSubReq.AddFreeSubBody;\n reader.readMessage(value,proto.ramius.AddFreeSubReq.AddFreeSubBody.deserializeBinaryFromReader);\n msg.setAddFreeSubsBody(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddFreeSubReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddFreeSubReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddFreeSubReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddFreeSubReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAddFreeSubsBody();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.AddFreeSubReq.AddFreeSubBody.serializeBinaryToWriter\n );\n }\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddFreeSubReq.AddFreeSubBody.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddFreeSubReq.AddFreeSubBody} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.toObject = function(includeInstance, msg) {\n var f, obj = {\n serviceName: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddFreeSubReq.AddFreeSubBody}\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddFreeSubReq.AddFreeSubBody;\n return proto.ramius.AddFreeSubReq.AddFreeSubBody.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddFreeSubReq.AddFreeSubBody} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddFreeSubReq.AddFreeSubBody}\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.ServiceName} */ (reader.readEnum());\n msg.setServiceName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddFreeSubReq.AddFreeSubBody.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddFreeSubReq.AddFreeSubBody} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getServiceName();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional ServiceName service_name = 1;\n * @return {!proto.ramius.ServiceName}\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.prototype.getServiceName = function() {\n return /** @type {!proto.ramius.ServiceName} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ServiceName} value\n * @return {!proto.ramius.AddFreeSubReq.AddFreeSubBody} returns this\n */\nproto.ramius.AddFreeSubReq.AddFreeSubBody.prototype.setServiceName = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional AddFreeSubBody add_free_subs_body = 1;\n * @return {?proto.ramius.AddFreeSubReq.AddFreeSubBody}\n */\nproto.ramius.AddFreeSubReq.prototype.getAddFreeSubsBody = function() {\n return /** @type{?proto.ramius.AddFreeSubReq.AddFreeSubBody} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AddFreeSubReq.AddFreeSubBody, 1));\n};\n\n\n/**\n * @param {?proto.ramius.AddFreeSubReq.AddFreeSubBody|undefined} value\n * @return {!proto.ramius.AddFreeSubReq} returns this\n*/\nproto.ramius.AddFreeSubReq.prototype.setAddFreeSubsBody = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AddFreeSubReq} returns this\n */\nproto.ramius.AddFreeSubReq.prototype.clearAddFreeSubsBody = function() {\n return this.setAddFreeSubsBody(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AddFreeSubReq.prototype.hasAddFreeSubsBody = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InvitationResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InvitationResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InvitationResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InvitationResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f),\n url: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n to: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InvitationResp}\n */\nproto.ramius.InvitationResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InvitationResp;\n return proto.ramius.InvitationResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InvitationResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InvitationResp}\n */\nproto.ramius.InvitationResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setUrl(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setTo(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InvitationResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InvitationResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InvitationResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InvitationResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n f = message.getUrl();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getTo();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.InvitationResp.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.InvitationResp} returns this\n*/\nproto.ramius.InvitationResp.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.InvitationResp} returns this\n */\nproto.ramius.InvitationResp.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.InvitationResp.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string url = 2;\n * @return {string}\n */\nproto.ramius.InvitationResp.prototype.getUrl = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InvitationResp} returns this\n */\nproto.ramius.InvitationResp.prototype.setUrl = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string to = 3;\n * @return {string}\n */\nproto.ramius.InvitationResp.prototype.getTo = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InvitationResp} returns this\n */\nproto.ramius.InvitationResp.prototype.setTo = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.InventoryResults.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InventoryResults.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InventoryResults.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InventoryResults} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryResults.toObject = function(includeInstance, msg) {\n var f, obj = {\n ts: (f = msg.getTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n totalRecords: jspb.Message.getFieldWithDefault(msg, 2, 0),\n inventoryTaskResultList: jspb.Message.toObjectList(msg.getInventoryTaskResultList(),\n proto.ramius.InventoryTaskResult.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InventoryResults}\n */\nproto.ramius.InventoryResults.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InventoryResults;\n return proto.ramius.InventoryResults.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InventoryResults} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InventoryResults}\n */\nproto.ramius.InventoryResults.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setTs(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotalRecords(value);\n break;\n case 3:\n var value = new proto.ramius.InventoryTaskResult;\n reader.readMessage(value,proto.ramius.InventoryTaskResult.deserializeBinaryFromReader);\n msg.addInventoryTaskResult(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InventoryResults.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InventoryResults.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InventoryResults} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryResults.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTs();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getTotalRecords();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getInventoryTaskResultList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.InventoryTaskResult.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional google.protobuf.Timestamp ts = 1;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.InventoryResults.prototype.getTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.InventoryResults} returns this\n*/\nproto.ramius.InventoryResults.prototype.setTs = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.InventoryResults} returns this\n */\nproto.ramius.InventoryResults.prototype.clearTs = function() {\n return this.setTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.InventoryResults.prototype.hasTs = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int64 total_records = 2;\n * @return {number}\n */\nproto.ramius.InventoryResults.prototype.getTotalRecords = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InventoryResults} returns this\n */\nproto.ramius.InventoryResults.prototype.setTotalRecords = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * repeated InventoryTaskResult inventory_task_result = 3;\n * @return {!Array}\n */\nproto.ramius.InventoryResults.prototype.getInventoryTaskResultList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.InventoryTaskResult, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.InventoryResults} returns this\n*/\nproto.ramius.InventoryResults.prototype.setInventoryTaskResultList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.InventoryTaskResult=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.InventoryTaskResult}\n */\nproto.ramius.InventoryResults.prototype.addInventoryTaskResult = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.InventoryTaskResult, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.InventoryResults} returns this\n */\nproto.ramius.InventoryResults.prototype.clearInventoryTaskResultList = function() {\n return this.setInventoryTaskResultList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InventoryServiceItems.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InventoryServiceItems.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InventoryServiceItems} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryServiceItems.toObject = function(includeInstance, msg) {\n var f, obj = {\n pid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n quantity: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InventoryServiceItems}\n */\nproto.ramius.InventoryServiceItems.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InventoryServiceItems;\n return proto.ramius.InventoryServiceItems.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InventoryServiceItems} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InventoryServiceItems}\n */\nproto.ramius.InventoryServiceItems.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPid(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setQuantity(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InventoryServiceItems.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InventoryServiceItems.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InventoryServiceItems} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryServiceItems.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getQuantity();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string pid = 1;\n * @return {string}\n */\nproto.ramius.InventoryServiceItems.prototype.getPid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InventoryServiceItems} returns this\n */\nproto.ramius.InventoryServiceItems.prototype.setPid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 quantity = 2;\n * @return {number}\n */\nproto.ramius.InventoryServiceItems.prototype.getQuantity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InventoryServiceItems} returns this\n */\nproto.ramius.InventoryServiceItems.prototype.setQuantity = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.InventoryTaskResult.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InventoryTaskResult.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InventoryTaskResult.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InventoryTaskResult} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryTaskResult.toObject = function(includeInstance, msg) {\n var f, obj = {\n subid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n status: jspb.Message.getFieldWithDefault(msg, 2, 0),\n itemsList: jspb.Message.toObjectList(msg.getItemsList(),\n proto.ramius.InventoryServiceItems.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InventoryTaskResult}\n */\nproto.ramius.InventoryTaskResult.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InventoryTaskResult;\n return proto.ramius.InventoryTaskResult.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InventoryTaskResult} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InventoryTaskResult}\n */\nproto.ramius.InventoryTaskResult.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSubid(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.InventoryTaskResult.Status} */ (reader.readEnum());\n msg.setStatus(value);\n break;\n case 3:\n var value = new proto.ramius.InventoryServiceItems;\n reader.readMessage(value,proto.ramius.InventoryServiceItems.deserializeBinaryFromReader);\n msg.addItems(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InventoryTaskResult.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InventoryTaskResult.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InventoryTaskResult} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InventoryTaskResult.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSubid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getItemsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.InventoryServiceItems.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.InventoryTaskResult.Status = {\n FAILURE: 0,\n SUCCESS: 1\n};\n\n/**\n * optional string subId = 1;\n * @return {string}\n */\nproto.ramius.InventoryTaskResult.prototype.getSubid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InventoryTaskResult} returns this\n */\nproto.ramius.InventoryTaskResult.prototype.setSubid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional Status status = 2;\n * @return {!proto.ramius.InventoryTaskResult.Status}\n */\nproto.ramius.InventoryTaskResult.prototype.getStatus = function() {\n return /** @type {!proto.ramius.InventoryTaskResult.Status} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.InventoryTaskResult.Status} value\n * @return {!proto.ramius.InventoryTaskResult} returns this\n */\nproto.ramius.InventoryTaskResult.prototype.setStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * repeated InventoryServiceItems items = 3;\n * @return {!Array}\n */\nproto.ramius.InventoryTaskResult.prototype.getItemsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.InventoryServiceItems, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.InventoryTaskResult} returns this\n*/\nproto.ramius.InventoryTaskResult.prototype.setItemsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.InventoryServiceItems=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.InventoryServiceItems}\n */\nproto.ramius.InventoryTaskResult.prototype.addItems = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.InventoryServiceItems, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.InventoryTaskResult} returns this\n */\nproto.ramius.InventoryTaskResult.prototype.clearItemsList = function() {\n return this.setItemsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SendCustomerFeedbackRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SendCustomerFeedbackRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SendCustomerFeedbackRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n content: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n feedbackType: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SendCustomerFeedbackRequest}\n */\nproto.ramius.SendCustomerFeedbackRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SendCustomerFeedbackRequest;\n return proto.ramius.SendCustomerFeedbackRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SendCustomerFeedbackRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SendCustomerFeedbackRequest}\n */\nproto.ramius.SendCustomerFeedbackRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setContent(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.SendCustomerFeedbackRequest.FeedbackType} */ (reader.readEnum());\n msg.setFeedbackType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SendCustomerFeedbackRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SendCustomerFeedbackRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SendCustomerFeedbackRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getContent();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getFeedbackType();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.SendCustomerFeedbackRequest.FeedbackType = {\n OTHER: 0,\n FEATURE_REQUEST: 1,\n SALES_SUPPORT: 2,\n SOFTWARE_BUG: 3,\n STORE_FRONT: 4,\n MARKETPLACE: 5\n};\n\n/**\n * optional string content = 1;\n * @return {string}\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.getContent = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SendCustomerFeedbackRequest} returns this\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.setContent = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional FeedbackType feedback_type = 2;\n * @return {!proto.ramius.SendCustomerFeedbackRequest.FeedbackType}\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.getFeedbackType = function() {\n return /** @type {!proto.ramius.SendCustomerFeedbackRequest.FeedbackType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SendCustomerFeedbackRequest.FeedbackType} value\n * @return {!proto.ramius.SendCustomerFeedbackRequest} returns this\n */\nproto.ramius.SendCustomerFeedbackRequest.prototype.setFeedbackType = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SendCustomerFeedbackResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SendCustomerFeedbackResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SendCustomerFeedbackResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SendCustomerFeedbackResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: (f = msg.getError()) && error_pb.Error.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SendCustomerFeedbackResponse}\n */\nproto.ramius.SendCustomerFeedbackResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SendCustomerFeedbackResponse;\n return proto.ramius.SendCustomerFeedbackResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SendCustomerFeedbackResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SendCustomerFeedbackResponse}\n */\nproto.ramius.SendCustomerFeedbackResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.setError(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SendCustomerFeedbackResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SendCustomerFeedbackResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SendCustomerFeedbackResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SendCustomerFeedbackResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Error error = 1;\n * @return {?proto.ramius.Error}\n */\nproto.ramius.SendCustomerFeedbackResponse.prototype.getError = function() {\n return /** @type{?proto.ramius.Error} */ (\n jspb.Message.getWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Error|undefined} value\n * @return {!proto.ramius.SendCustomerFeedbackResponse} returns this\n*/\nproto.ramius.SendCustomerFeedbackResponse.prototype.setError = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SendCustomerFeedbackResponse} returns this\n */\nproto.ramius.SendCustomerFeedbackResponse.prototype.clearError = function() {\n return this.setError(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SendCustomerFeedbackResponse.prototype.hasError = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetOrgNameRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetOrgNameRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetOrgNameRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetOrgNameRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetOrgNameRequest}\n */\nproto.ramius.SetOrgNameRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetOrgNameRequest;\n return proto.ramius.SetOrgNameRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetOrgNameRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetOrgNameRequest}\n */\nproto.ramius.SetOrgNameRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetOrgNameRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetOrgNameRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetOrgNameRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetOrgNameRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.SetOrgNameRequest.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetOrgNameRequest} returns this\n */\nproto.ramius.SetOrgNameRequest.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SetOrgNameResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SetOrgNameResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SetOrgNameResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetOrgNameResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SetOrgNameResponse}\n */\nproto.ramius.SetOrgNameResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SetOrgNameResponse;\n return proto.ramius.SetOrgNameResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SetOrgNameResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SetOrgNameResponse}\n */\nproto.ramius.SetOrgNameResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SetOrgNameResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SetOrgNameResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SetOrgNameResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SetOrgNameResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.SetOrgNameResponse.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SetOrgNameResponse} returns this\n */\nproto.ramius.SetOrgNameResponse.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UserDetails.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UserDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UserDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserDetails.toObject = function(includeInstance, msg) {\n var f, obj = {\n email: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n provider: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n role: jspb.Message.getFieldWithDefault(msg, 3, 0),\n disabled: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),\n lastLogin: (f = msg.getLastLogin()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n userId: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n tracking: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),\n addedAt: (f = msg.getAddedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UserDetails}\n */\nproto.ramius.UserDetails.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UserDetails;\n return proto.ramius.UserDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UserDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UserDetails}\n */\nproto.ramius.UserDetails.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEmail(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setProvider(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.OrgGroup} */ (reader.readEnum());\n msg.setRole(value);\n break;\n case 4:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDisabled(value);\n break;\n case 5:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastLogin(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setUserId(value);\n break;\n case 7:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setTracking(value);\n break;\n case 8:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setAddedAt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UserDetails.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UserDetails.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UserDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UserDetails.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEmail();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getProvider();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRole();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getDisabled();\n if (f) {\n writer.writeBool(\n 4,\n f\n );\n }\n f = message.getLastLogin();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getUserId();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getTracking();\n if (f) {\n writer.writeBool(\n 7,\n f\n );\n }\n f = message.getAddedAt();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.ramius.UserDetails.prototype.getEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string provider = 2;\n * @return {string}\n */\nproto.ramius.UserDetails.prototype.getProvider = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setProvider = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional OrgGroup role = 3;\n * @return {!proto.ramius.OrgGroup}\n */\nproto.ramius.UserDetails.prototype.getRole = function() {\n return /** @type {!proto.ramius.OrgGroup} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setRole = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional bool disabled = 4;\n * @return {boolean}\n */\nproto.ramius.UserDetails.prototype.getDisabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setDisabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 4, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_login = 5;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.UserDetails.prototype.getLastLogin = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 5));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.UserDetails} returns this\n*/\nproto.ramius.UserDetails.prototype.setLastLogin = function(value) {\n return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.clearLastLogin = function() {\n return this.setLastLogin(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserDetails.prototype.hasLastLogin = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional string user_id = 6;\n * @return {string}\n */\nproto.ramius.UserDetails.prototype.getUserId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setUserId = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional bool tracking = 7;\n * @return {boolean}\n */\nproto.ramius.UserDetails.prototype.getTracking = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.setTracking = function(value) {\n return jspb.Message.setProto3BooleanField(this, 7, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp added_at = 8;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.UserDetails.prototype.getAddedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 8));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.UserDetails} returns this\n*/\nproto.ramius.UserDetails.prototype.setAddedAt = function(value) {\n return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.UserDetails} returns this\n */\nproto.ramius.UserDetails.prototype.clearAddedAt = function() {\n return this.setAddedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.UserDetails.prototype.hasAddedAt = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AddUsersRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddUsersRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddUsersRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddUsersRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddUsersRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n emailsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n role: jspb.Message.getFieldWithDefault(msg, 2, 0),\n disabled: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddUsersRequest}\n */\nproto.ramius.AddUsersRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddUsersRequest;\n return proto.ramius.AddUsersRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddUsersRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddUsersRequest}\n */\nproto.ramius.AddUsersRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addEmails(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.OrgGroup} */ (reader.readEnum());\n msg.setRole(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDisabled(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddUsersRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddUsersRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddUsersRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddUsersRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEmailsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getRole();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getDisabled();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n};\n\n\n/**\n * repeated string emails = 1;\n * @return {!Array}\n */\nproto.ramius.AddUsersRequest.prototype.getEmailsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AddUsersRequest} returns this\n */\nproto.ramius.AddUsersRequest.prototype.setEmailsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AddUsersRequest} returns this\n */\nproto.ramius.AddUsersRequest.prototype.addEmails = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AddUsersRequest} returns this\n */\nproto.ramius.AddUsersRequest.prototype.clearEmailsList = function() {\n return this.setEmailsList([]);\n};\n\n\n/**\n * optional OrgGroup role = 2;\n * @return {!proto.ramius.OrgGroup}\n */\nproto.ramius.AddUsersRequest.prototype.getRole = function() {\n return /** @type {!proto.ramius.OrgGroup} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OrgGroup} value\n * @return {!proto.ramius.AddUsersRequest} returns this\n */\nproto.ramius.AddUsersRequest.prototype.setRole = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional bool disabled = 3;\n * @return {boolean}\n */\nproto.ramius.AddUsersRequest.prototype.getDisabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.AddUsersRequest} returns this\n */\nproto.ramius.AddUsersRequest.prototype.setDisabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AddUsersResponse.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AddUsersResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AddUsersResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AddUsersResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddUsersResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n usersList: jspb.Message.toObjectList(msg.getUsersList(),\n proto.ramius.UserDetails.toObject, includeInstance),\n errorsList: jspb.Message.toObjectList(msg.getErrorsList(),\n error_pb.Error.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AddUsersResponse}\n */\nproto.ramius.AddUsersResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AddUsersResponse;\n return proto.ramius.AddUsersResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AddUsersResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AddUsersResponse}\n */\nproto.ramius.AddUsersResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.UserDetails;\n reader.readMessage(value,proto.ramius.UserDetails.deserializeBinaryFromReader);\n msg.addUsers(value);\n break;\n case 2:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.addErrors(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AddUsersResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AddUsersResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AddUsersResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AddUsersResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUsersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.UserDetails.serializeBinaryToWriter\n );\n }\n f = message.getErrorsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated UserDetails users = 1;\n * @return {!Array}\n */\nproto.ramius.AddUsersResponse.prototype.getUsersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.UserDetails, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AddUsersResponse} returns this\n*/\nproto.ramius.AddUsersResponse.prototype.setUsersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.UserDetails=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.UserDetails}\n */\nproto.ramius.AddUsersResponse.prototype.addUsers = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.UserDetails, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AddUsersResponse} returns this\n */\nproto.ramius.AddUsersResponse.prototype.clearUsersList = function() {\n return this.setUsersList([]);\n};\n\n\n/**\n * repeated Error errors = 2;\n * @return {!Array}\n */\nproto.ramius.AddUsersResponse.prototype.getErrorsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, error_pb.Error, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AddUsersResponse} returns this\n*/\nproto.ramius.AddUsersResponse.prototype.setErrorsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.ramius.Error=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Error}\n */\nproto.ramius.AddUsersResponse.prototype.addErrors = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.ramius.Error, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AddUsersResponse} returns this\n */\nproto.ramius.AddUsersResponse.prototype.clearErrorsList = function() {\n return this.setErrorsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EntitlementByTokenRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EntitlementByTokenRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EntitlementByTokenRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EntitlementByTokenRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n registrationToken: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EntitlementByTokenRequest}\n */\nproto.ramius.EntitlementByTokenRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EntitlementByTokenRequest;\n return proto.ramius.EntitlementByTokenRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EntitlementByTokenRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EntitlementByTokenRequest}\n */\nproto.ramius.EntitlementByTokenRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRegistrationToken(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EntitlementByTokenRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EntitlementByTokenRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EntitlementByTokenRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EntitlementByTokenRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRegistrationToken();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string registration_token = 1;\n * @return {string}\n */\nproto.ramius.EntitlementByTokenRequest.prototype.getRegistrationToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EntitlementByTokenRequest} returns this\n */\nproto.ramius.EntitlementByTokenRequest.prototype.setRegistrationToken = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EntitlementByTokenResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EntitlementByTokenResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EntitlementByTokenResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EntitlementByTokenResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n entitlementId: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EntitlementByTokenResponse}\n */\nproto.ramius.EntitlementByTokenResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EntitlementByTokenResponse;\n return proto.ramius.EntitlementByTokenResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EntitlementByTokenResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EntitlementByTokenResponse}\n */\nproto.ramius.EntitlementByTokenResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEntitlementId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EntitlementByTokenResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EntitlementByTokenResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EntitlementByTokenResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EntitlementByTokenResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEntitlementId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string entitlement_id = 1;\n * @return {string}\n */\nproto.ramius.EntitlementByTokenResponse.prototype.getEntitlementId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EntitlementByTokenResponse} returns this\n */\nproto.ramius.EntitlementByTokenResponse.prototype.setEntitlementId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.OrgGroup = {\n INVALID_ORG_GROUP: 0,\n ADMIN: 1,\n READ_WRITE: 2,\n READ_ONLY: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubState = {\n SUBSTATE_INVALID: 0,\n SUBSTATE_INVITED: 1,\n SUBSTATE_INITIALIZED: 2,\n SUBSTATE_ACTIVATED: 3,\n SUBSTATE_SUSPENDED: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ServiceName = {\n SERVICE_INVALID: 0,\n SERVICE_L_SPAUTO_NI_IS: 1\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.UiTheme = {\n DARK: 0,\n LIGHT: 1,\n HIGH_CONTRAST: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.NetworkType = {\n SERVICE_PROVIDER: 0,\n ENTERPRISE: 1,\n SMALL_MEDIUM_BUSINESS: 2,\n CLOUD_CONSUMER: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.PurchaseMethod = {\n DIRECTLY: 0,\n PARTNER: 1,\n DISTRIBUTOR: 2,\n NOT_SURE: 3\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: ccios_gen.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.AuthLevel', null, global);\ngoog.exportSymbol('proto.ramius.Capability', null, global);\ngoog.exportSymbol('proto.ramius.CapabilityType', null, global);\ngoog.exportSymbol('proto.ramius.CdgContainerStatus', null, global);\ngoog.exportSymbol('proto.ramius.CdgContainerType', null, global);\ngoog.exportSymbol('proto.ramius.CdgResourceProfileType', null, global);\ngoog.exportSymbol('proto.ramius.CdgStateType', null, global);\ngoog.exportSymbol('proto.ramius.CollectorHardwareStat', null, global);\ngoog.exportSymbol('proto.ramius.CollectorServiceStat', null, global);\ngoog.exportSymbol('proto.ramius.ConnectivityStatus', null, global);\ngoog.exportSymbol('proto.ramius.CpuStat', null, global);\ngoog.exportSymbol('proto.ramius.CredentialType', null, global);\ngoog.exportSymbol('proto.ramius.DeviceConnectivity', null, global);\ngoog.exportSymbol('proto.ramius.DeviceQueue', null, global);\ngoog.exportSymbol('proto.ramius.DeviceSessionStat', null, global);\ngoog.exportSymbol('proto.ramius.DeviceType', null, global);\ngoog.exportSymbol('proto.ramius.DigestAlgorithm', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryBgpPeerAdminStatusType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryBgpProtocolType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryBgpSessionStateType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryInterfaceAdminStatusType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryInterfaceOperStatusType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryOsType', null, global);\ngoog.exportSymbol('proto.ramius.DiscoveryVendorType', null, global);\ngoog.exportSymbol('proto.ramius.DiskStat', null, global);\ngoog.exportSymbol('proto.ramius.EncryptionAlgorithm', null, global);\ngoog.exportSymbol('proto.ramius.FlowReplicationStat', null, global);\ngoog.exportSymbol('proto.ramius.FlowServiceStat', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceMode', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceOverride', null, global);\ngoog.exportSymbol('proto.ramius.MemStat', null, global);\ngoog.exportSymbol('proto.ramius.NetflowIfIndexMappingMode', null, global);\ngoog.exportSymbol('proto.ramius.OsType', null, global);\ngoog.exportSymbol('proto.ramius.TaskConfig', null, global);\ngoog.exportSymbol('proto.ramius.TaskType', null, global);\ngoog.exportSymbol('proto.ramius.WorkflowConfig', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CpuStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CpuStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CpuStat.displayName = 'proto.ramius.CpuStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceSessionStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceSessionStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceSessionStat.displayName = 'proto.ramius.DeviceSessionStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DiskStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DiskStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DiskStat.displayName = 'proto.ramius.DiskStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FlowReplicationStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.FlowReplicationStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FlowReplicationStat.displayName = 'proto.ramius.FlowReplicationStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.MemStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.MemStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.MemStat.displayName = 'proto.ramius.MemStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Capability = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.Capability, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Capability.displayName = 'proto.ramius.Capability';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TaskConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.TaskConfig.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.TaskConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TaskConfig.displayName = 'proto.ramius.TaskConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.WorkflowConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.WorkflowConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.WorkflowConfig.displayName = 'proto.ramius.WorkflowConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CollectorHardwareStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.CollectorHardwareStat.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.CollectorHardwareStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CollectorHardwareStat.displayName = 'proto.ramius.CollectorHardwareStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CollectorServiceStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.CollectorServiceStat.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.CollectorServiceStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CollectorServiceStat.displayName = 'proto.ramius.CollectorServiceStat';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceConnectivity = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceConnectivity, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceConnectivity.displayName = 'proto.ramius.DeviceConnectivity';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceQueue = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceQueue, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceQueue.displayName = 'proto.ramius.DeviceQueue';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FlowServiceStat = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.FlowServiceStat.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.FlowServiceStat, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FlowServiceStat.displayName = 'proto.ramius.FlowServiceStat';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CpuStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CpuStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CpuStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CpuStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n process: jspb.Message.getFloatingPointFieldWithDefault(msg, 12, 0.0),\n system: jspb.Message.getFloatingPointFieldWithDefault(msg, 13, 0.0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CpuStat}\n */\nproto.ramius.CpuStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CpuStat;\n return proto.ramius.CpuStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CpuStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CpuStat}\n */\nproto.ramius.CpuStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setProcess(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setSystem(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CpuStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CpuStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CpuStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CpuStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getProcess();\n if (f !== 0.0) {\n writer.writeDouble(\n 12,\n f\n );\n }\n f = message.getSystem();\n if (f !== 0.0) {\n writer.writeDouble(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 11;\n * @return {string}\n */\nproto.ramius.CpuStat.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CpuStat} returns this\n */\nproto.ramius.CpuStat.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional double process = 12;\n * @return {number}\n */\nproto.ramius.CpuStat.prototype.getProcess = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 12, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CpuStat} returns this\n */\nproto.ramius.CpuStat.prototype.setProcess = function(value) {\n return jspb.Message.setProto3FloatField(this, 12, value);\n};\n\n\n/**\n * optional double system = 13;\n * @return {number}\n */\nproto.ramius.CpuStat.prototype.getSystem = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 13, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CpuStat} returns this\n */\nproto.ramius.CpuStat.prototype.setSystem = function(value) {\n return jspb.Message.setProto3FloatField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceSessionStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceSessionStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceSessionStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSessionStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n deviceId: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n command: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n duration: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceSessionStat}\n */\nproto.ramius.DeviceSessionStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceSessionStat;\n return proto.ramius.DeviceSessionStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceSessionStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceSessionStat}\n */\nproto.ramius.DeviceSessionStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setCommand(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setDuration(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceSessionStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceSessionStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceSessionStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSessionStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getCommand();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getDuration();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional string device_id = 11;\n * @return {string}\n */\nproto.ramius.DeviceSessionStat.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceSessionStat} returns this\n */\nproto.ramius.DeviceSessionStat.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string command = 12;\n * @return {string}\n */\nproto.ramius.DeviceSessionStat.prototype.getCommand = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceSessionStat} returns this\n */\nproto.ramius.DeviceSessionStat.prototype.setCommand = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional int64 duration = 13;\n * @return {number}\n */\nproto.ramius.DeviceSessionStat.prototype.getDuration = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceSessionStat} returns this\n */\nproto.ramius.DeviceSessionStat.prototype.setDuration = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DiskStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DiskStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DiskStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DiskStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n total: jspb.Message.getFieldWithDefault(msg, 12, 0),\n avail: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DiskStat}\n */\nproto.ramius.DiskStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DiskStat;\n return proto.ramius.DiskStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DiskStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DiskStat}\n */\nproto.ramius.DiskStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotal(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAvail(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DiskStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DiskStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DiskStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DiskStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getTotal();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getAvail();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 11;\n * @return {string}\n */\nproto.ramius.DiskStat.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DiskStat} returns this\n */\nproto.ramius.DiskStat.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional int64 total = 12;\n * @return {number}\n */\nproto.ramius.DiskStat.prototype.getTotal = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DiskStat} returns this\n */\nproto.ramius.DiskStat.prototype.setTotal = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional int64 avail = 13;\n * @return {number}\n */\nproto.ramius.DiskStat.prototype.getAvail = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DiskStat} returns this\n */\nproto.ramius.DiskStat.prototype.setAvail = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FlowReplicationStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FlowReplicationStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FlowReplicationStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FlowReplicationStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n deviceId: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n pps: jspb.Message.getFieldWithDefault(msg, 12, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FlowReplicationStat}\n */\nproto.ramius.FlowReplicationStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FlowReplicationStat;\n return proto.ramius.FlowReplicationStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FlowReplicationStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FlowReplicationStat}\n */\nproto.ramius.FlowReplicationStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPps(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FlowReplicationStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FlowReplicationStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FlowReplicationStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FlowReplicationStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getPps();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n};\n\n\n/**\n * optional string device_id = 11;\n * @return {string}\n */\nproto.ramius.FlowReplicationStat.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.FlowReplicationStat} returns this\n */\nproto.ramius.FlowReplicationStat.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional int64 pps = 12;\n * @return {number}\n */\nproto.ramius.FlowReplicationStat.prototype.getPps = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.FlowReplicationStat} returns this\n */\nproto.ramius.FlowReplicationStat.prototype.setPps = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.MemStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.MemStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.MemStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MemStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n total: jspb.Message.getFieldWithDefault(msg, 11, 0),\n avail: jspb.Message.getFieldWithDefault(msg, 12, 0),\n cached: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.MemStat}\n */\nproto.ramius.MemStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.MemStat;\n return proto.ramius.MemStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.MemStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.MemStat}\n */\nproto.ramius.MemStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setTotal(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setAvail(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCached(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.MemStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.MemStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.MemStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MemStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTotal();\n if (f !== 0) {\n writer.writeInt64(\n 11,\n f\n );\n }\n f = message.getAvail();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getCached();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional int64 total = 11;\n * @return {number}\n */\nproto.ramius.MemStat.prototype.getTotal = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MemStat} returns this\n */\nproto.ramius.MemStat.prototype.setTotal = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional int64 avail = 12;\n * @return {number}\n */\nproto.ramius.MemStat.prototype.getAvail = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MemStat} returns this\n */\nproto.ramius.MemStat.prototype.setAvail = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional int64 cached = 13;\n * @return {number}\n */\nproto.ramius.MemStat.prototype.getCached = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MemStat} returns this\n */\nproto.ramius.MemStat.prototype.setCached = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Capability.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Capability.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Capability} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Capability.toObject = function(includeInstance, msg) {\n var f, obj = {\n capabilityType: jspb.Message.getFieldWithDefault(msg, 12, 0),\n name: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n osType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n osVersion: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n platformType: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n available: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),\n notApplicable: jspb.Message.getBooleanFieldWithDefault(msg, 18, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Capability}\n */\nproto.ramius.Capability.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Capability;\n return proto.ramius.Capability.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Capability} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Capability}\n */\nproto.ramius.Capability.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 12:\n var value = /** @type {!proto.ramius.CapabilityType} */ (reader.readEnum());\n msg.setCapabilityType(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.OsType} */ (reader.readEnum());\n msg.setOsType(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setOsVersion(value);\n break;\n case 16:\n var value = /** @type {string} */ (reader.readString());\n msg.setPlatformType(value);\n break;\n case 17:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setAvailable(value);\n break;\n case 18:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setNotApplicable(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Capability.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Capability.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Capability} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Capability.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCapabilityType();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getOsType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getOsVersion();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getPlatformType();\n if (f.length > 0) {\n writer.writeString(\n 16,\n f\n );\n }\n f = message.getAvailable();\n if (f) {\n writer.writeBool(\n 17,\n f\n );\n }\n f = message.getNotApplicable();\n if (f) {\n writer.writeBool(\n 18,\n f\n );\n }\n};\n\n\n/**\n * optional CapabilityType capability_type = 12;\n * @return {!proto.ramius.CapabilityType}\n */\nproto.ramius.Capability.prototype.getCapabilityType = function() {\n return /** @type {!proto.ramius.CapabilityType} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CapabilityType} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setCapabilityType = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional string name = 13;\n * @return {string}\n */\nproto.ramius.Capability.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional OsType os_type = 14;\n * @return {!proto.ramius.OsType}\n */\nproto.ramius.Capability.prototype.getOsType = function() {\n return /** @type {!proto.ramius.OsType} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.OsType} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setOsType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional string os_version = 15;\n * @return {string}\n */\nproto.ramius.Capability.prototype.getOsVersion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setOsVersion = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string platform_type = 16;\n * @return {string}\n */\nproto.ramius.Capability.prototype.getPlatformType = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setPlatformType = function(value) {\n return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional bool available = 17;\n * @return {boolean}\n */\nproto.ramius.Capability.prototype.getAvailable = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setAvailable = function(value) {\n return jspb.Message.setProto3BooleanField(this, 17, value);\n};\n\n\n/**\n * optional bool not_applicable = 18;\n * @return {boolean}\n */\nproto.ramius.Capability.prototype.getNotApplicable = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 18, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.Capability} returns this\n */\nproto.ramius.Capability.prototype.setNotApplicable = function(value) {\n return jspb.Message.setProto3BooleanField(this, 18, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.TaskConfig.repeatedFields_ = [45];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TaskConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TaskConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TaskConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TaskConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n taskType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n taskId: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n appName: jspb.Message.getFieldWithDefault(msg, 30, \"\"),\n commandline: jspb.Message.getFieldWithDefault(msg, 31, \"\"),\n timeoutValue: jspb.Message.getFieldWithDefault(msg, 32, 0),\n timeoutUnit: jspb.Message.getFieldWithDefault(msg, 33, 0),\n retryCount: jspb.Message.getFieldWithDefault(msg, 34, 0),\n retryDelay: jspb.Message.getFieldWithDefault(msg, 35, 0),\n parametersList: jspb.Message.toObjectList(msg.getParametersList(),\n schema_gen_pb.KeyVal.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TaskConfig}\n */\nproto.ramius.TaskConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TaskConfig;\n return proto.ramius.TaskConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TaskConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TaskConfig}\n */\nproto.ramius.TaskConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.TaskType} */ (reader.readEnum());\n msg.setTaskType(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setTaskId(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setAppName(value);\n break;\n case 31:\n var value = /** @type {string} */ (reader.readString());\n msg.setCommandline(value);\n break;\n case 32:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTimeoutValue(value);\n break;\n case 33:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setTimeoutUnit(value);\n break;\n case 34:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setRetryCount(value);\n break;\n case 35:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setRetryDelay(value);\n break;\n case 45:\n var value = new schema_gen_pb.KeyVal;\n reader.readMessage(value,schema_gen_pb.KeyVal.deserializeBinaryFromReader);\n msg.addParameters(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TaskConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TaskConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TaskConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TaskConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getTaskType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getTaskId();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getAppName();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n f = message.getCommandline();\n if (f.length > 0) {\n writer.writeString(\n 31,\n f\n );\n }\n f = message.getTimeoutValue();\n if (f !== 0) {\n writer.writeInt32(\n 32,\n f\n );\n }\n f = message.getTimeoutUnit();\n if (f !== 0.0) {\n writer.writeEnum(\n 33,\n f\n );\n }\n f = message.getRetryCount();\n if (f !== 0) {\n writer.writeInt32(\n 34,\n f\n );\n }\n f = message.getRetryDelay();\n if (f !== 0) {\n writer.writeInt32(\n 35,\n f\n );\n }\n f = message.getParametersList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 45,\n f,\n schema_gen_pb.KeyVal.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string name = 11;\n * @return {string}\n */\nproto.ramius.TaskConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string description = 13;\n * @return {string}\n */\nproto.ramius.TaskConfig.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional TaskType task_type = 14;\n * @return {!proto.ramius.TaskType}\n */\nproto.ramius.TaskConfig.prototype.getTaskType = function() {\n return /** @type {!proto.ramius.TaskType} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.TaskType} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setTaskType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional string task_id = 15;\n * @return {string}\n */\nproto.ramius.TaskConfig.prototype.getTaskId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setTaskId = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string app_name = 30;\n * @return {string}\n */\nproto.ramius.TaskConfig.prototype.getAppName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setAppName = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n/**\n * optional string commandline = 31;\n * @return {string}\n */\nproto.ramius.TaskConfig.prototype.getCommandline = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 31, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setCommandline = function(value) {\n return jspb.Message.setProto3StringField(this, 31, value);\n};\n\n\n/**\n * optional int32 timeout_value = 32;\n * @return {number}\n */\nproto.ramius.TaskConfig.prototype.getTimeoutValue = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 32, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setTimeoutValue = function(value) {\n return jspb.Message.setProto3IntField(this, 32, value);\n};\n\n\n/**\n * optional Duration timeout_unit = 33;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.TaskConfig.prototype.getTimeoutUnit = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 33, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setTimeoutUnit = function(value) {\n return jspb.Message.setProto3EnumField(this, 33, value);\n};\n\n\n/**\n * optional int32 retry_count = 34;\n * @return {number}\n */\nproto.ramius.TaskConfig.prototype.getRetryCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 34, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setRetryCount = function(value) {\n return jspb.Message.setProto3IntField(this, 34, value);\n};\n\n\n/**\n * optional int32 retry_delay = 35;\n * @return {number}\n */\nproto.ramius.TaskConfig.prototype.getRetryDelay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 35, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.setRetryDelay = function(value) {\n return jspb.Message.setProto3IntField(this, 35, value);\n};\n\n\n/**\n * repeated KeyVal parameters = 45;\n * @return {!Array}\n */\nproto.ramius.TaskConfig.prototype.getParametersList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, schema_gen_pb.KeyVal, 45));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.TaskConfig} returns this\n*/\nproto.ramius.TaskConfig.prototype.setParametersList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 45, value);\n};\n\n\n/**\n * @param {!proto.ramius.KeyVal=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.KeyVal}\n */\nproto.ramius.TaskConfig.prototype.addParameters = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 45, opt_value, proto.ramius.KeyVal, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.TaskConfig} returns this\n */\nproto.ramius.TaskConfig.prototype.clearParametersList = function() {\n return this.setParametersList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.WorkflowConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.WorkflowConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.WorkflowConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WorkflowConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n state: jspb.Message.getFieldWithDefault(msg, 15, 0),\n isJson: jspb.Message.getBooleanFieldWithDefault(msg, 16, false),\n inputData: jspb.Message.getFieldWithDefault(msg, 17, \"\"),\n timeoutValue: jspb.Message.getFieldWithDefault(msg, 18, 0),\n timeoutUnit: jspb.Message.getFieldWithDefault(msg, 19, 0),\n definition: jspb.Message.getFieldWithDefault(msg, 30, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.WorkflowConfig}\n */\nproto.ramius.WorkflowConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.WorkflowConfig;\n return proto.ramius.WorkflowConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.WorkflowConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.WorkflowConfig}\n */\nproto.ramius.WorkflowConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 15:\n var value = /** @type {!proto.ramius.ObjectState} */ (reader.readEnum());\n msg.setState(value);\n break;\n case 16:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsJson(value);\n break;\n case 17:\n var value = /** @type {string} */ (reader.readString());\n msg.setInputData(value);\n break;\n case 18:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTimeoutValue(value);\n break;\n case 19:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setTimeoutUnit(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setDefinition(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.WorkflowConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.WorkflowConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.WorkflowConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WorkflowConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getState();\n if (f !== 0.0) {\n writer.writeEnum(\n 15,\n f\n );\n }\n f = message.getIsJson();\n if (f) {\n writer.writeBool(\n 16,\n f\n );\n }\n f = message.getInputData();\n if (f.length > 0) {\n writer.writeString(\n 17,\n f\n );\n }\n f = message.getTimeoutValue();\n if (f !== 0) {\n writer.writeInt32(\n 18,\n f\n );\n }\n f = message.getTimeoutUnit();\n if (f !== 0.0) {\n writer.writeEnum(\n 19,\n f\n );\n }\n f = message.getDefinition();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 11;\n * @return {string}\n */\nproto.ramius.WorkflowConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string description = 13;\n * @return {string}\n */\nproto.ramius.WorkflowConfig.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional ObjectState state = 15;\n * @return {!proto.ramius.ObjectState}\n */\nproto.ramius.WorkflowConfig.prototype.getState = function() {\n return /** @type {!proto.ramius.ObjectState} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ObjectState} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setState = function(value) {\n return jspb.Message.setProto3EnumField(this, 15, value);\n};\n\n\n/**\n * optional bool is_json = 16;\n * @return {boolean}\n */\nproto.ramius.WorkflowConfig.prototype.getIsJson = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 16, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setIsJson = function(value) {\n return jspb.Message.setProto3BooleanField(this, 16, value);\n};\n\n\n/**\n * optional string input_data = 17;\n * @return {string}\n */\nproto.ramius.WorkflowConfig.prototype.getInputData = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setInputData = function(value) {\n return jspb.Message.setProto3StringField(this, 17, value);\n};\n\n\n/**\n * optional int32 timeout_value = 18;\n * @return {number}\n */\nproto.ramius.WorkflowConfig.prototype.getTimeoutValue = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 18, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setTimeoutValue = function(value) {\n return jspb.Message.setProto3IntField(this, 18, value);\n};\n\n\n/**\n * optional Duration timeout_unit = 19;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.WorkflowConfig.prototype.getTimeoutUnit = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 19, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setTimeoutUnit = function(value) {\n return jspb.Message.setProto3EnumField(this, 19, value);\n};\n\n\n/**\n * optional string definition = 30;\n * @return {string}\n */\nproto.ramius.WorkflowConfig.prototype.getDefinition = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WorkflowConfig} returns this\n */\nproto.ramius.WorkflowConfig.prototype.setDefinition = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.CollectorHardwareStat.repeatedFields_ = [22];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CollectorHardwareStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CollectorHardwareStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CollectorHardwareStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CollectorHardwareStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n containerId: jspb.Message.getFieldWithDefault(msg, 12, 0),\n collectedAt: (f = msg.getCollectedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n sampleDuration: jspb.Message.getFieldWithDefault(msg, 16, 0),\n peakCpu: jspb.Message.getFloatingPointFieldWithDefault(msg, 17, 0.0),\n peakMem: jspb.Message.getFloatingPointFieldWithDefault(msg, 18, 0.0),\n cpuStat: (f = msg.getCpuStat()) && proto.ramius.CpuStat.toObject(includeInstance, f),\n memStat: (f = msg.getMemStat()) && proto.ramius.MemStat.toObject(includeInstance, f),\n diskStatsList: jspb.Message.toObjectList(msg.getDiskStatsList(),\n proto.ramius.DiskStat.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CollectorHardwareStat}\n */\nproto.ramius.CollectorHardwareStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CollectorHardwareStat;\n return proto.ramius.CollectorHardwareStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CollectorHardwareStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CollectorHardwareStat}\n */\nproto.ramius.CollectorHardwareStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 12:\n var value = /** @type {!proto.ramius.CdgContainerType} */ (reader.readEnum());\n msg.setContainerId(value);\n break;\n case 13:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCollectedAt(value);\n break;\n case 16:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSampleDuration(value);\n break;\n case 17:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setPeakCpu(value);\n break;\n case 18:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setPeakMem(value);\n break;\n case 25:\n var value = new proto.ramius.CpuStat;\n reader.readMessage(value,proto.ramius.CpuStat.deserializeBinaryFromReader);\n msg.setCpuStat(value);\n break;\n case 21:\n var value = new proto.ramius.MemStat;\n reader.readMessage(value,proto.ramius.MemStat.deserializeBinaryFromReader);\n msg.setMemStat(value);\n break;\n case 22:\n var value = new proto.ramius.DiskStat;\n reader.readMessage(value,proto.ramius.DiskStat.deserializeBinaryFromReader);\n msg.addDiskStats(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CollectorHardwareStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CollectorHardwareStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CollectorHardwareStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CollectorHardwareStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getContainerId();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getCollectedAt();\n if (f != null) {\n writer.writeMessage(\n 13,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSampleDuration();\n if (f !== 0) {\n writer.writeInt64(\n 16,\n f\n );\n }\n f = message.getPeakCpu();\n if (f !== 0.0) {\n writer.writeDouble(\n 17,\n f\n );\n }\n f = message.getPeakMem();\n if (f !== 0.0) {\n writer.writeDouble(\n 18,\n f\n );\n }\n f = message.getCpuStat();\n if (f != null) {\n writer.writeMessage(\n 25,\n f,\n proto.ramius.CpuStat.serializeBinaryToWriter\n );\n }\n f = message.getMemStat();\n if (f != null) {\n writer.writeMessage(\n 21,\n f,\n proto.ramius.MemStat.serializeBinaryToWriter\n );\n }\n f = message.getDiskStatsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 22,\n f,\n proto.ramius.DiskStat.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional CdgContainerType container_id = 12;\n * @return {!proto.ramius.CdgContainerType}\n */\nproto.ramius.CollectorHardwareStat.prototype.getContainerId = function() {\n return /** @type {!proto.ramius.CdgContainerType} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CdgContainerType} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.setContainerId = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp collected_at = 13;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorHardwareStat.prototype.getCollectedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 13));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n*/\nproto.ramius.CollectorHardwareStat.prototype.setCollectedAt = function(value) {\n return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.clearCollectedAt = function() {\n return this.setCollectedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorHardwareStat.prototype.hasCollectedAt = function() {\n return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional int64 sample_duration = 16;\n * @return {number}\n */\nproto.ramius.CollectorHardwareStat.prototype.getSampleDuration = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.setSampleDuration = function(value) {\n return jspb.Message.setProto3IntField(this, 16, value);\n};\n\n\n/**\n * optional double peak_cpu = 17;\n * @return {number}\n */\nproto.ramius.CollectorHardwareStat.prototype.getPeakCpu = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 17, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.setPeakCpu = function(value) {\n return jspb.Message.setProto3FloatField(this, 17, value);\n};\n\n\n/**\n * optional double peak_mem = 18;\n * @return {number}\n */\nproto.ramius.CollectorHardwareStat.prototype.getPeakMem = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 18, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.setPeakMem = function(value) {\n return jspb.Message.setProto3FloatField(this, 18, value);\n};\n\n\n/**\n * optional CpuStat cpu_stat = 25;\n * @return {?proto.ramius.CpuStat}\n */\nproto.ramius.CollectorHardwareStat.prototype.getCpuStat = function() {\n return /** @type{?proto.ramius.CpuStat} */ (\n jspb.Message.getWrapperField(this, proto.ramius.CpuStat, 25));\n};\n\n\n/**\n * @param {?proto.ramius.CpuStat|undefined} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n*/\nproto.ramius.CollectorHardwareStat.prototype.setCpuStat = function(value) {\n return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.clearCpuStat = function() {\n return this.setCpuStat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorHardwareStat.prototype.hasCpuStat = function() {\n return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional MemStat mem_stat = 21;\n * @return {?proto.ramius.MemStat}\n */\nproto.ramius.CollectorHardwareStat.prototype.getMemStat = function() {\n return /** @type{?proto.ramius.MemStat} */ (\n jspb.Message.getWrapperField(this, proto.ramius.MemStat, 21));\n};\n\n\n/**\n * @param {?proto.ramius.MemStat|undefined} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n*/\nproto.ramius.CollectorHardwareStat.prototype.setMemStat = function(value) {\n return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.clearMemStat = function() {\n return this.setMemStat(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorHardwareStat.prototype.hasMemStat = function() {\n return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * repeated DiskStat disk_stats = 22;\n * @return {!Array}\n */\nproto.ramius.CollectorHardwareStat.prototype.getDiskStatsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.DiskStat, 22));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n*/\nproto.ramius.CollectorHardwareStat.prototype.setDiskStatsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 22, value);\n};\n\n\n/**\n * @param {!proto.ramius.DiskStat=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.DiskStat}\n */\nproto.ramius.CollectorHardwareStat.prototype.addDiskStats = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 22, opt_value, proto.ramius.DiskStat, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.CollectorHardwareStat} returns this\n */\nproto.ramius.CollectorHardwareStat.prototype.clearDiskStatsList = function() {\n return this.setDiskStatsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.CollectorServiceStat.repeatedFields_ = [21,24,44];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CollectorServiceStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CollectorServiceStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CollectorServiceStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CollectorServiceStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n serviceName: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n containerId: jspb.Message.getFieldWithDefault(msg, 13, 0),\n startTime: (f = msg.getStartTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n collectedAt: (f = msg.getCollectedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n deviceCount: jspb.Message.getFieldWithDefault(msg, 18, 0),\n sessionCount: jspb.Message.getFieldWithDefault(msg, 20, 0),\n deadSessionsList: jspb.Message.toObjectList(msg.getDeadSessionsList(),\n proto.ramius.DeviceSessionStat.toObject, includeInstance),\n firstSeenAt: (f = msg.getFirstSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n restartCount: jspb.Message.getFieldWithDefault(msg, 23, 0),\n restartsList: jspb.Message.toObjectList(msg.getRestartsList(),\n google_protobuf_timestamp_pb.Timestamp.toObject, includeInstance),\n nextSchedule: (f = msg.getNextSchedule()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n dockerImage: jspb.Message.getFieldWithDefault(msg, 27, \"\"),\n dockerImageTs: (f = msg.getDockerImageTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n unconfiguredExporters: jspb.Message.getFieldWithDefault(msg, 30, 0),\n unconfiguredBgpSessions: jspb.Message.getFieldWithDefault(msg, 31, 0),\n prefixCount: jspb.Message.getFieldWithDefault(msg, 32, 0),\n spoolAgeMin: jspb.Message.getFieldWithDefault(msg, 33, 0),\n malformedNetflow: jspb.Message.getFieldWithDefault(msg, 34, 0),\n netflowNoTemplate: jspb.Message.getFieldWithDefault(msg, 35, 0),\n queueFullEvents: jspb.Message.getFieldWithDefault(msg, 36, 0),\n missingBgpFeed: jspb.Message.getFieldWithDefault(msg, 37, 0),\n missingSnmpFeed: jspb.Message.getFieldWithDefault(msg, 38, 0),\n spoolDiscards: jspb.Message.getFieldWithDefault(msg, 40, 0),\n queueDepthPercentage: jspb.Message.getFloatingPointFieldWithDefault(msg, 41, 0.0),\n queueFullPercentage: jspb.Message.getFloatingPointFieldWithDefault(msg, 42, 0.0),\n blockedExportersList: (f = jspb.Message.getRepeatedField(msg, 44)) == null ? undefined : f,\n netflowDataTemplate: jspb.Message.getFieldWithDefault(msg, 45, 0),\n netflowOptionTemplate: jspb.Message.getFieldWithDefault(msg, 46, 0),\n netflowSampler: jspb.Message.getFieldWithDefault(msg, 47, 0),\n netflowSkewed: jspb.Message.getFieldWithDefault(msg, 48, 0),\n expectedDockerImage: jspb.Message.getFieldWithDefault(msg, 43, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CollectorServiceStat}\n */\nproto.ramius.CollectorServiceStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CollectorServiceStat;\n return proto.ramius.CollectorServiceStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CollectorServiceStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CollectorServiceStat}\n */\nproto.ramius.CollectorServiceStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setServiceName(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.CdgContainerType} */ (reader.readEnum());\n msg.setContainerId(value);\n break;\n case 14:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setStartTime(value);\n break;\n case 16:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCollectedAt(value);\n break;\n case 18:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDeviceCount(value);\n break;\n case 20:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSessionCount(value);\n break;\n case 21:\n var value = new proto.ramius.DeviceSessionStat;\n reader.readMessage(value,proto.ramius.DeviceSessionStat.deserializeBinaryFromReader);\n msg.addDeadSessions(value);\n break;\n case 22:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setFirstSeenAt(value);\n break;\n case 23:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setRestartCount(value);\n break;\n case 24:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.addRestarts(value);\n break;\n case 25:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setNextSchedule(value);\n break;\n case 27:\n var value = /** @type {string} */ (reader.readString());\n msg.setDockerImage(value);\n break;\n case 28:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setDockerImageTs(value);\n break;\n case 30:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setUnconfiguredExporters(value);\n break;\n case 31:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setUnconfiguredBgpSessions(value);\n break;\n case 32:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPrefixCount(value);\n break;\n case 33:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSpoolAgeMin(value);\n break;\n case 34:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMalformedNetflow(value);\n break;\n case 35:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNetflowNoTemplate(value);\n break;\n case 36:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setQueueFullEvents(value);\n break;\n case 37:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMissingBgpFeed(value);\n break;\n case 38:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMissingSnmpFeed(value);\n break;\n case 40:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSpoolDiscards(value);\n break;\n case 41:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setQueueDepthPercentage(value);\n break;\n case 42:\n var value = /** @type {number} */ (reader.readDouble());\n msg.setQueueFullPercentage(value);\n break;\n case 44:\n var value = /** @type {string} */ (reader.readString());\n msg.addBlockedExporters(value);\n break;\n case 45:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNetflowDataTemplate(value);\n break;\n case 46:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNetflowOptionTemplate(value);\n break;\n case 47:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNetflowSampler(value);\n break;\n case 48:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNetflowSkewed(value);\n break;\n case 43:\n var value = /** @type {string} */ (reader.readString());\n msg.setExpectedDockerImage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CollectorServiceStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CollectorServiceStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CollectorServiceStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CollectorServiceStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getServiceName();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getContainerId();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getStartTime();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getCollectedAt();\n if (f != null) {\n writer.writeMessage(\n 16,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getDeviceCount();\n if (f !== 0) {\n writer.writeInt32(\n 18,\n f\n );\n }\n f = message.getSessionCount();\n if (f !== 0) {\n writer.writeInt32(\n 20,\n f\n );\n }\n f = message.getDeadSessionsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 21,\n f,\n proto.ramius.DeviceSessionStat.serializeBinaryToWriter\n );\n }\n f = message.getFirstSeenAt();\n if (f != null) {\n writer.writeMessage(\n 22,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getRestartCount();\n if (f !== 0) {\n writer.writeInt32(\n 23,\n f\n );\n }\n f = message.getRestartsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 24,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getNextSchedule();\n if (f != null) {\n writer.writeMessage(\n 25,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getDockerImage();\n if (f.length > 0) {\n writer.writeString(\n 27,\n f\n );\n }\n f = message.getDockerImageTs();\n if (f != null) {\n writer.writeMessage(\n 28,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getUnconfiguredExporters();\n if (f !== 0) {\n writer.writeInt32(\n 30,\n f\n );\n }\n f = message.getUnconfiguredBgpSessions();\n if (f !== 0) {\n writer.writeInt32(\n 31,\n f\n );\n }\n f = message.getPrefixCount();\n if (f !== 0) {\n writer.writeInt32(\n 32,\n f\n );\n }\n f = message.getSpoolAgeMin();\n if (f !== 0) {\n writer.writeInt32(\n 33,\n f\n );\n }\n f = message.getMalformedNetflow();\n if (f !== 0) {\n writer.writeInt32(\n 34,\n f\n );\n }\n f = message.getNetflowNoTemplate();\n if (f !== 0) {\n writer.writeInt32(\n 35,\n f\n );\n }\n f = message.getQueueFullEvents();\n if (f !== 0) {\n writer.writeInt32(\n 36,\n f\n );\n }\n f = message.getMissingBgpFeed();\n if (f !== 0) {\n writer.writeInt32(\n 37,\n f\n );\n }\n f = message.getMissingSnmpFeed();\n if (f !== 0) {\n writer.writeInt32(\n 38,\n f\n );\n }\n f = message.getSpoolDiscards();\n if (f !== 0) {\n writer.writeInt32(\n 40,\n f\n );\n }\n f = message.getQueueDepthPercentage();\n if (f !== 0.0) {\n writer.writeDouble(\n 41,\n f\n );\n }\n f = message.getQueueFullPercentage();\n if (f !== 0.0) {\n writer.writeDouble(\n 42,\n f\n );\n }\n f = message.getBlockedExportersList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 44,\n f\n );\n }\n f = message.getNetflowDataTemplate();\n if (f !== 0) {\n writer.writeInt32(\n 45,\n f\n );\n }\n f = message.getNetflowOptionTemplate();\n if (f !== 0) {\n writer.writeInt32(\n 46,\n f\n );\n }\n f = message.getNetflowSampler();\n if (f !== 0) {\n writer.writeInt32(\n 47,\n f\n );\n }\n f = message.getNetflowSkewed();\n if (f !== 0) {\n writer.writeInt32(\n 48,\n f\n );\n }\n f = message.getExpectedDockerImage();\n if (f.length > 0) {\n writer.writeString(\n 43,\n f\n );\n }\n};\n\n\n/**\n * optional string service_name = 12;\n * @return {string}\n */\nproto.ramius.CollectorServiceStat.prototype.getServiceName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setServiceName = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional CdgContainerType container_id = 13;\n * @return {!proto.ramius.CdgContainerType}\n */\nproto.ramius.CollectorServiceStat.prototype.getContainerId = function() {\n return /** @type {!proto.ramius.CdgContainerType} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CdgContainerType} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setContainerId = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp start_time = 14;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.getStartTime = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 14));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setStartTime = function(value) {\n return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearStartTime = function() {\n return this.setStartTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorServiceStat.prototype.hasStartTime = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp collected_at = 16;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.getCollectedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 16));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setCollectedAt = function(value) {\n return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearCollectedAt = function() {\n return this.setCollectedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorServiceStat.prototype.hasCollectedAt = function() {\n return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional int32 device_count = 18;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getDeviceCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 18, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setDeviceCount = function(value) {\n return jspb.Message.setProto3IntField(this, 18, value);\n};\n\n\n/**\n * optional int32 session_count = 20;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getSessionCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setSessionCount = function(value) {\n return jspb.Message.setProto3IntField(this, 20, value);\n};\n\n\n/**\n * repeated DeviceSessionStat dead_sessions = 21;\n * @return {!Array}\n */\nproto.ramius.CollectorServiceStat.prototype.getDeadSessionsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.DeviceSessionStat, 21));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setDeadSessionsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 21, value);\n};\n\n\n/**\n * @param {!proto.ramius.DeviceSessionStat=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.DeviceSessionStat}\n */\nproto.ramius.CollectorServiceStat.prototype.addDeadSessions = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 21, opt_value, proto.ramius.DeviceSessionStat, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearDeadSessionsList = function() {\n return this.setDeadSessionsList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp first_seen_at = 22;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.getFirstSeenAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 22));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setFirstSeenAt = function(value) {\n return jspb.Message.setWrapperField(this, 22, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearFirstSeenAt = function() {\n return this.setFirstSeenAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorServiceStat.prototype.hasFirstSeenAt = function() {\n return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional int32 restart_count = 23;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getRestartCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setRestartCount = function(value) {\n return jspb.Message.setProto3IntField(this, 23, value);\n};\n\n\n/**\n * repeated google.protobuf.Timestamp restarts = 24;\n * @return {!Array}\n */\nproto.ramius.CollectorServiceStat.prototype.getRestartsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 24));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setRestartsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 24, value);\n};\n\n\n/**\n * @param {!proto.google.protobuf.Timestamp=} opt_value\n * @param {number=} opt_index\n * @return {!proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.addRestarts = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 24, opt_value, proto.google.protobuf.Timestamp, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearRestartsList = function() {\n return this.setRestartsList([]);\n};\n\n\n/**\n * optional google.protobuf.Timestamp next_schedule = 25;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.getNextSchedule = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 25));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setNextSchedule = function(value) {\n return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearNextSchedule = function() {\n return this.setNextSchedule(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorServiceStat.prototype.hasNextSchedule = function() {\n return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional string docker_image = 27;\n * @return {string}\n */\nproto.ramius.CollectorServiceStat.prototype.getDockerImage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 27, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setDockerImage = function(value) {\n return jspb.Message.setProto3StringField(this, 27, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp docker_image_ts = 28;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.CollectorServiceStat.prototype.getDockerImageTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 28));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n*/\nproto.ramius.CollectorServiceStat.prototype.setDockerImageTs = function(value) {\n return jspb.Message.setWrapperField(this, 28, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearDockerImageTs = function() {\n return this.setDockerImageTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.CollectorServiceStat.prototype.hasDockerImageTs = function() {\n return jspb.Message.getField(this, 28) != null;\n};\n\n\n/**\n * optional int32 unconfigured_exporters = 30;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getUnconfiguredExporters = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setUnconfiguredExporters = function(value) {\n return jspb.Message.setProto3IntField(this, 30, value);\n};\n\n\n/**\n * optional int32 unconfigured_bgp_sessions = 31;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getUnconfiguredBgpSessions = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setUnconfiguredBgpSessions = function(value) {\n return jspb.Message.setProto3IntField(this, 31, value);\n};\n\n\n/**\n * optional int32 prefix_count = 32;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getPrefixCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 32, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setPrefixCount = function(value) {\n return jspb.Message.setProto3IntField(this, 32, value);\n};\n\n\n/**\n * optional int32 spool_age_min = 33;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getSpoolAgeMin = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 33, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setSpoolAgeMin = function(value) {\n return jspb.Message.setProto3IntField(this, 33, value);\n};\n\n\n/**\n * optional int32 malformed_netflow = 34;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getMalformedNetflow = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 34, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setMalformedNetflow = function(value) {\n return jspb.Message.setProto3IntField(this, 34, value);\n};\n\n\n/**\n * optional int32 netflow_no_template = 35;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getNetflowNoTemplate = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 35, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setNetflowNoTemplate = function(value) {\n return jspb.Message.setProto3IntField(this, 35, value);\n};\n\n\n/**\n * optional int32 queue_full_events = 36;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getQueueFullEvents = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 36, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setQueueFullEvents = function(value) {\n return jspb.Message.setProto3IntField(this, 36, value);\n};\n\n\n/**\n * optional int32 missing_bgp_feed = 37;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getMissingBgpFeed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 37, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setMissingBgpFeed = function(value) {\n return jspb.Message.setProto3IntField(this, 37, value);\n};\n\n\n/**\n * optional int32 missing_snmp_feed = 38;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getMissingSnmpFeed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 38, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setMissingSnmpFeed = function(value) {\n return jspb.Message.setProto3IntField(this, 38, value);\n};\n\n\n/**\n * optional int32 spool_discards = 40;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getSpoolDiscards = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 40, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setSpoolDiscards = function(value) {\n return jspb.Message.setProto3IntField(this, 40, value);\n};\n\n\n/**\n * optional double queue_depth_percentage = 41;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getQueueDepthPercentage = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 41, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setQueueDepthPercentage = function(value) {\n return jspb.Message.setProto3FloatField(this, 41, value);\n};\n\n\n/**\n * optional double queue_full_percentage = 42;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getQueueFullPercentage = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 42, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setQueueFullPercentage = function(value) {\n return jspb.Message.setProto3FloatField(this, 42, value);\n};\n\n\n/**\n * repeated string blocked_exporters = 44;\n * @return {!Array}\n */\nproto.ramius.CollectorServiceStat.prototype.getBlockedExportersList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 44));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setBlockedExportersList = function(value) {\n return jspb.Message.setField(this, 44, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.addBlockedExporters = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 44, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.clearBlockedExportersList = function() {\n return this.setBlockedExportersList([]);\n};\n\n\n/**\n * optional int32 netflow_data_template = 45;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getNetflowDataTemplate = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 45, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setNetflowDataTemplate = function(value) {\n return jspb.Message.setProto3IntField(this, 45, value);\n};\n\n\n/**\n * optional int32 netflow_option_template = 46;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getNetflowOptionTemplate = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 46, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setNetflowOptionTemplate = function(value) {\n return jspb.Message.setProto3IntField(this, 46, value);\n};\n\n\n/**\n * optional int32 netflow_sampler = 47;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getNetflowSampler = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 47, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setNetflowSampler = function(value) {\n return jspb.Message.setProto3IntField(this, 47, value);\n};\n\n\n/**\n * optional int32 netflow_skewed = 48;\n * @return {number}\n */\nproto.ramius.CollectorServiceStat.prototype.getNetflowSkewed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 48, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setNetflowSkewed = function(value) {\n return jspb.Message.setProto3IntField(this, 48, value);\n};\n\n\n/**\n * optional string expected_docker_image = 43;\n * @return {string}\n */\nproto.ramius.CollectorServiceStat.prototype.getExpectedDockerImage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 43, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.CollectorServiceStat} returns this\n */\nproto.ramius.CollectorServiceStat.prototype.setExpectedDockerImage = function(value) {\n return jspb.Message.setProto3StringField(this, 43, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceConnectivity.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceConnectivity.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceConnectivity} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceConnectivity.toObject = function(includeInstance, msg) {\n var f, obj = {\n gatewayId: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n deviceId: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n containerId: jspb.Message.getFieldWithDefault(msg, 13, 0),\n sshStatus: jspb.Message.getFieldWithDefault(msg, 16, 0),\n firstSeenAt: (f = msg.getFirstSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n sshStatusTs: (f = msg.getSshStatusTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n ipAddress: jspb.Message.getFieldWithDefault(msg, 20, \"\"),\n message: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n sshPublicKey: jspb.Message.getFieldWithDefault(msg, 22, \"\"),\n bgpStatus: jspb.Message.getFieldWithDefault(msg, 25, 0),\n bgpStatusTs: (f = msg.getBgpStatusTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n snmpStatus: jspb.Message.getFieldWithDefault(msg, 27, 0),\n snmpStatusTs: (f = msg.getSnmpStatusTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n nics: jspb.Message.getFieldWithDefault(msg, 29, 0),\n flowsPerSec: jspb.Message.getFieldWithDefault(msg, 30, 0),\n bgpPrefixCount: jspb.Message.getFieldWithDefault(msg, 31, 0),\n bgpMessage: jspb.Message.getFieldWithDefault(msg, 32, \"\"),\n snmpMessage: jspb.Message.getFieldWithDefault(msg, 33, \"\"),\n flowStatusTs: (f = msg.getFlowStatusTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n flowStatus: jspb.Message.getFieldWithDefault(msg, 35, 0),\n flowMessage: jspb.Message.getFieldWithDefault(msg, 36, \"\"),\n gnmiStatusTs: (f = msg.getGnmiStatusTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n gnmiStatus: jspb.Message.getFieldWithDefault(msg, 38, 0),\n gnmiMessage: jspb.Message.getFieldWithDefault(msg, 39, \"\"),\n snmpSystemDescription: jspb.Message.getFieldWithDefault(msg, 40, \"\"),\n snmpSystemUptime: (f = msg.getSnmpSystemUptime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n snmpSystemName: jspb.Message.getFieldWithDefault(msg, 42, \"\"),\n runningConfigFp: jspb.Message.getFieldWithDefault(msg, 44, \"\"),\n runningConfigCommitId: jspb.Message.getFieldWithDefault(msg, 45, \"\"),\n runningConfigTs: (f = msg.getRunningConfigTs()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n gatewayName: jspb.Message.getFieldWithDefault(msg, 24, \"\"),\n gatewayState: jspb.Message.getFieldWithDefault(msg, 15, 0),\n lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n trustMessage: jspb.Message.getFieldWithDefault(msg, 43, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceConnectivity}\n */\nproto.ramius.DeviceConnectivity.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceConnectivity;\n return proto.ramius.DeviceConnectivity.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceConnectivity} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceConnectivity}\n */\nproto.ramius.DeviceConnectivity.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayId(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.CdgContainerType} */ (reader.readEnum());\n msg.setContainerId(value);\n break;\n case 16:\n var value = /** @type {!proto.ramius.ConnectivityStatus} */ (reader.readEnum());\n msg.setSshStatus(value);\n break;\n case 17:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setFirstSeenAt(value);\n break;\n case 18:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setSshStatusTs(value);\n break;\n case 20:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpAddress(value);\n break;\n case 21:\n var value = /** @type {string} */ (reader.readString());\n msg.setMessage(value);\n break;\n case 22:\n var value = /** @type {string} */ (reader.readString());\n msg.setSshPublicKey(value);\n break;\n case 25:\n var value = /** @type {!proto.ramius.ConnectivityStatus} */ (reader.readEnum());\n msg.setBgpStatus(value);\n break;\n case 26:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setBgpStatusTs(value);\n break;\n case 27:\n var value = /** @type {!proto.ramius.ConnectivityStatus} */ (reader.readEnum());\n msg.setSnmpStatus(value);\n break;\n case 28:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setSnmpStatusTs(value);\n break;\n case 29:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNics(value);\n break;\n case 30:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFlowsPerSec(value);\n break;\n case 31:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setBgpPrefixCount(value);\n break;\n case 32:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpMessage(value);\n break;\n case 33:\n var value = /** @type {string} */ (reader.readString());\n msg.setSnmpMessage(value);\n break;\n case 34:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setFlowStatusTs(value);\n break;\n case 35:\n var value = /** @type {!proto.ramius.ConnectivityStatus} */ (reader.readEnum());\n msg.setFlowStatus(value);\n break;\n case 36:\n var value = /** @type {string} */ (reader.readString());\n msg.setFlowMessage(value);\n break;\n case 37:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setGnmiStatusTs(value);\n break;\n case 38:\n var value = /** @type {!proto.ramius.ConnectivityStatus} */ (reader.readEnum());\n msg.setGnmiStatus(value);\n break;\n case 39:\n var value = /** @type {string} */ (reader.readString());\n msg.setGnmiMessage(value);\n break;\n case 40:\n var value = /** @type {string} */ (reader.readString());\n msg.setSnmpSystemDescription(value);\n break;\n case 41:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setSnmpSystemUptime(value);\n break;\n case 42:\n var value = /** @type {string} */ (reader.readString());\n msg.setSnmpSystemName(value);\n break;\n case 44:\n var value = /** @type {string} */ (reader.readString());\n msg.setRunningConfigFp(value);\n break;\n case 45:\n var value = /** @type {string} */ (reader.readString());\n msg.setRunningConfigCommitId(value);\n break;\n case 46:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setRunningConfigTs(value);\n break;\n case 24:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayName(value);\n break;\n case 15:\n var value = /** @type {!proto.ramius.CdgStateType} */ (reader.readEnum());\n msg.setGatewayState(value);\n break;\n case 19:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastSeenAt(value);\n break;\n case 43:\n var value = /** @type {string} */ (reader.readString());\n msg.setTrustMessage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceConnectivity.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceConnectivity.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceConnectivity} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceConnectivity.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGatewayId();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getContainerId();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getSshStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n f = message.getFirstSeenAt();\n if (f != null) {\n writer.writeMessage(\n 17,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSshStatusTs();\n if (f != null) {\n writer.writeMessage(\n 18,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getIpAddress();\n if (f.length > 0) {\n writer.writeString(\n 20,\n f\n );\n }\n f = message.getMessage();\n if (f.length > 0) {\n writer.writeString(\n 21,\n f\n );\n }\n f = message.getSshPublicKey();\n if (f.length > 0) {\n writer.writeString(\n 22,\n f\n );\n }\n f = message.getBgpStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 25,\n f\n );\n }\n f = message.getBgpStatusTs();\n if (f != null) {\n writer.writeMessage(\n 26,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSnmpStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 27,\n f\n );\n }\n f = message.getSnmpStatusTs();\n if (f != null) {\n writer.writeMessage(\n 28,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getNics();\n if (f !== 0) {\n writer.writeInt32(\n 29,\n f\n );\n }\n f = message.getFlowsPerSec();\n if (f !== 0) {\n writer.writeInt64(\n 30,\n f\n );\n }\n f = message.getBgpPrefixCount();\n if (f !== 0) {\n writer.writeInt32(\n 31,\n f\n );\n }\n f = message.getBgpMessage();\n if (f.length > 0) {\n writer.writeString(\n 32,\n f\n );\n }\n f = message.getSnmpMessage();\n if (f.length > 0) {\n writer.writeString(\n 33,\n f\n );\n }\n f = message.getFlowStatusTs();\n if (f != null) {\n writer.writeMessage(\n 34,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getFlowStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 35,\n f\n );\n }\n f = message.getFlowMessage();\n if (f.length > 0) {\n writer.writeString(\n 36,\n f\n );\n }\n f = message.getGnmiStatusTs();\n if (f != null) {\n writer.writeMessage(\n 37,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getGnmiStatus();\n if (f !== 0.0) {\n writer.writeEnum(\n 38,\n f\n );\n }\n f = message.getGnmiMessage();\n if (f.length > 0) {\n writer.writeString(\n 39,\n f\n );\n }\n f = message.getSnmpSystemDescription();\n if (f.length > 0) {\n writer.writeString(\n 40,\n f\n );\n }\n f = message.getSnmpSystemUptime();\n if (f != null) {\n writer.writeMessage(\n 41,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSnmpSystemName();\n if (f.length > 0) {\n writer.writeString(\n 42,\n f\n );\n }\n f = message.getRunningConfigFp();\n if (f.length > 0) {\n writer.writeString(\n 44,\n f\n );\n }\n f = message.getRunningConfigCommitId();\n if (f.length > 0) {\n writer.writeString(\n 45,\n f\n );\n }\n f = message.getRunningConfigTs();\n if (f != null) {\n writer.writeMessage(\n 46,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getGatewayName();\n if (f.length > 0) {\n writer.writeString(\n 24,\n f\n );\n }\n f = message.getGatewayState();\n if (f !== 0.0) {\n writer.writeEnum(\n 15,\n f\n );\n }\n f = message.getLastSeenAt();\n if (f != null) {\n writer.writeMessage(\n 19,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getTrustMessage();\n if (f.length > 0) {\n writer.writeString(\n 43,\n f\n );\n }\n};\n\n\n/**\n * optional string gateway_id = 11;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getGatewayId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setGatewayId = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string device_id = 12;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional CdgContainerType container_id = 13;\n * @return {!proto.ramius.CdgContainerType}\n */\nproto.ramius.DeviceConnectivity.prototype.getContainerId = function() {\n return /** @type {!proto.ramius.CdgContainerType} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CdgContainerType} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setContainerId = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional ConnectivityStatus ssh_status = 16;\n * @return {!proto.ramius.ConnectivityStatus}\n */\nproto.ramius.DeviceConnectivity.prototype.getSshStatus = function() {\n return /** @type {!proto.ramius.ConnectivityStatus} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ConnectivityStatus} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSshStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp first_seen_at = 17;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getFirstSeenAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 17));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setFirstSeenAt = function(value) {\n return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearFirstSeenAt = function() {\n return this.setFirstSeenAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasFirstSeenAt = function() {\n return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp ssh_status_ts = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getSshStatusTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setSshStatusTs = function(value) {\n return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearSshStatusTs = function() {\n return this.setSshStatusTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasSshStatusTs = function() {\n return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional string ip_address = 20;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getIpAddress = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setIpAddress = function(value) {\n return jspb.Message.setProto3StringField(this, 20, value);\n};\n\n\n/**\n * optional string message = 21;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional string ssh_public_key = 22;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getSshPublicKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSshPublicKey = function(value) {\n return jspb.Message.setProto3StringField(this, 22, value);\n};\n\n\n/**\n * optional ConnectivityStatus bgp_status = 25;\n * @return {!proto.ramius.ConnectivityStatus}\n */\nproto.ramius.DeviceConnectivity.prototype.getBgpStatus = function() {\n return /** @type {!proto.ramius.ConnectivityStatus} */ (jspb.Message.getFieldWithDefault(this, 25, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ConnectivityStatus} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setBgpStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 25, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp bgp_status_ts = 26;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getBgpStatusTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 26));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setBgpStatusTs = function(value) {\n return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearBgpStatusTs = function() {\n return this.setBgpStatusTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasBgpStatusTs = function() {\n return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional ConnectivityStatus snmp_status = 27;\n * @return {!proto.ramius.ConnectivityStatus}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpStatus = function() {\n return /** @type {!proto.ramius.ConnectivityStatus} */ (jspb.Message.getFieldWithDefault(this, 27, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ConnectivityStatus} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSnmpStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 27, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp snmp_status_ts = 28;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpStatusTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 28));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setSnmpStatusTs = function(value) {\n return jspb.Message.setWrapperField(this, 28, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearSnmpStatusTs = function() {\n return this.setSnmpStatusTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasSnmpStatusTs = function() {\n return jspb.Message.getField(this, 28) != null;\n};\n\n\n/**\n * optional int32 nics = 29;\n * @return {number}\n */\nproto.ramius.DeviceConnectivity.prototype.getNics = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 29, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setNics = function(value) {\n return jspb.Message.setProto3IntField(this, 29, value);\n};\n\n\n/**\n * optional int64 flows_per_sec = 30;\n * @return {number}\n */\nproto.ramius.DeviceConnectivity.prototype.getFlowsPerSec = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setFlowsPerSec = function(value) {\n return jspb.Message.setProto3IntField(this, 30, value);\n};\n\n\n/**\n * optional int32 bgp_prefix_count = 31;\n * @return {number}\n */\nproto.ramius.DeviceConnectivity.prototype.getBgpPrefixCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setBgpPrefixCount = function(value) {\n return jspb.Message.setProto3IntField(this, 31, value);\n};\n\n\n/**\n * optional string bgp_message = 32;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getBgpMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 32, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setBgpMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 32, value);\n};\n\n\n/**\n * optional string snmp_message = 33;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 33, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSnmpMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 33, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp flow_status_ts = 34;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getFlowStatusTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 34));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setFlowStatusTs = function(value) {\n return jspb.Message.setWrapperField(this, 34, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearFlowStatusTs = function() {\n return this.setFlowStatusTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasFlowStatusTs = function() {\n return jspb.Message.getField(this, 34) != null;\n};\n\n\n/**\n * optional ConnectivityStatus flow_status = 35;\n * @return {!proto.ramius.ConnectivityStatus}\n */\nproto.ramius.DeviceConnectivity.prototype.getFlowStatus = function() {\n return /** @type {!proto.ramius.ConnectivityStatus} */ (jspb.Message.getFieldWithDefault(this, 35, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ConnectivityStatus} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setFlowStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 35, value);\n};\n\n\n/**\n * optional string flow_message = 36;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getFlowMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 36, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setFlowMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 36, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp gnmi_status_ts = 37;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getGnmiStatusTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 37));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setGnmiStatusTs = function(value) {\n return jspb.Message.setWrapperField(this, 37, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearGnmiStatusTs = function() {\n return this.setGnmiStatusTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasGnmiStatusTs = function() {\n return jspb.Message.getField(this, 37) != null;\n};\n\n\n/**\n * optional ConnectivityStatus gnmi_status = 38;\n * @return {!proto.ramius.ConnectivityStatus}\n */\nproto.ramius.DeviceConnectivity.prototype.getGnmiStatus = function() {\n return /** @type {!proto.ramius.ConnectivityStatus} */ (jspb.Message.getFieldWithDefault(this, 38, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ConnectivityStatus} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setGnmiStatus = function(value) {\n return jspb.Message.setProto3EnumField(this, 38, value);\n};\n\n\n/**\n * optional string gnmi_message = 39;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getGnmiMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 39, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setGnmiMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 39, value);\n};\n\n\n/**\n * optional string snmp_system_description = 40;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpSystemDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 40, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSnmpSystemDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 40, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp snmp_system_uptime = 41;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpSystemUptime = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 41));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setSnmpSystemUptime = function(value) {\n return jspb.Message.setWrapperField(this, 41, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearSnmpSystemUptime = function() {\n return this.setSnmpSystemUptime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasSnmpSystemUptime = function() {\n return jspb.Message.getField(this, 41) != null;\n};\n\n\n/**\n * optional string snmp_system_name = 42;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getSnmpSystemName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 42, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setSnmpSystemName = function(value) {\n return jspb.Message.setProto3StringField(this, 42, value);\n};\n\n\n/**\n * optional string running_config_fp = 44;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getRunningConfigFp = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 44, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setRunningConfigFp = function(value) {\n return jspb.Message.setProto3StringField(this, 44, value);\n};\n\n\n/**\n * optional string running_config_commit_id = 45;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getRunningConfigCommitId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 45, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setRunningConfigCommitId = function(value) {\n return jspb.Message.setProto3StringField(this, 45, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp running_config_ts = 46;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getRunningConfigTs = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 46));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setRunningConfigTs = function(value) {\n return jspb.Message.setWrapperField(this, 46, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearRunningConfigTs = function() {\n return this.setRunningConfigTs(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasRunningConfigTs = function() {\n return jspb.Message.getField(this, 46) != null;\n};\n\n\n/**\n * optional string gateway_name = 24;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getGatewayName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setGatewayName = function(value) {\n return jspb.Message.setProto3StringField(this, 24, value);\n};\n\n\n/**\n * optional CdgStateType gateway_state = 15;\n * @return {!proto.ramius.CdgStateType}\n */\nproto.ramius.DeviceConnectivity.prototype.getGatewayState = function() {\n return /** @type {!proto.ramius.CdgStateType} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CdgStateType} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setGatewayState = function(value) {\n return jspb.Message.setProto3EnumField(this, 15, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_seen_at = 19;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceConnectivity.prototype.getLastSeenAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 19));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n*/\nproto.ramius.DeviceConnectivity.prototype.setLastSeenAt = function(value) {\n return jspb.Message.setWrapperField(this, 19, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.clearLastSeenAt = function() {\n return this.setLastSeenAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceConnectivity.prototype.hasLastSeenAt = function() {\n return jspb.Message.getField(this, 19) != null;\n};\n\n\n/**\n * optional string trust_message = 43;\n * @return {string}\n */\nproto.ramius.DeviceConnectivity.prototype.getTrustMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 43, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceConnectivity} returns this\n */\nproto.ramius.DeviceConnectivity.prototype.setTrustMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 43, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceQueue.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceQueue.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceQueue} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceQueue.toObject = function(includeInstance, msg) {\n var f, obj = {\n deviceId: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n objectId: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n objectType: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n queuedAt: (f = msg.getQueuedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n objectData: msg.getObjectData_asB64(),\n fileSize: jspb.Message.getFieldWithDefault(msg, 30, 0),\n filename: jspb.Message.getFieldWithDefault(msg, 31, \"\"),\n compressed: jspb.Message.getBooleanFieldWithDefault(msg, 32, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceQueue}\n */\nproto.ramius.DeviceQueue.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceQueue;\n return proto.ramius.DeviceQueue.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceQueue} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceQueue}\n */\nproto.ramius.DeviceQueue.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setObjectId(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setObjectType(value);\n break;\n case 15:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setQueuedAt(value);\n break;\n case 17:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setObjectData(value);\n break;\n case 30:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setFileSize(value);\n break;\n case 31:\n var value = /** @type {string} */ (reader.readString());\n msg.setFilename(value);\n break;\n case 32:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setCompressed(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceQueue.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceQueue.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceQueue} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceQueue.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getObjectId();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getObjectType();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getQueuedAt();\n if (f != null) {\n writer.writeMessage(\n 15,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getObjectData_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 17,\n f\n );\n }\n f = message.getFileSize();\n if (f !== 0) {\n writer.writeInt32(\n 30,\n f\n );\n }\n f = message.getFilename();\n if (f.length > 0) {\n writer.writeString(\n 31,\n f\n );\n }\n f = message.getCompressed();\n if (f) {\n writer.writeBool(\n 32,\n f\n );\n }\n};\n\n\n/**\n * optional string device_id = 11;\n * @return {string}\n */\nproto.ramius.DeviceQueue.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string object_id = 12;\n * @return {string}\n */\nproto.ramius.DeviceQueue.prototype.getObjectId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setObjectId = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string object_type = 13;\n * @return {string}\n */\nproto.ramius.DeviceQueue.prototype.getObjectType = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setObjectType = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp queued_at = 15;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.DeviceQueue.prototype.getQueuedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 15));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.DeviceQueue} returns this\n*/\nproto.ramius.DeviceQueue.prototype.setQueuedAt = function(value) {\n return jspb.Message.setWrapperField(this, 15, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.clearQueuedAt = function() {\n return this.setQueuedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.DeviceQueue.prototype.hasQueuedAt = function() {\n return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional bytes object_data = 17;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.DeviceQueue.prototype.getObjectData = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 17, \"\"));\n};\n\n\n/**\n * optional bytes object_data = 17;\n * This is a type-conversion wrapper around `getObjectData()`\n * @return {string}\n */\nproto.ramius.DeviceQueue.prototype.getObjectData_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getObjectData()));\n};\n\n\n/**\n * optional bytes object_data = 17;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getObjectData()`\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceQueue.prototype.getObjectData_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getObjectData()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setObjectData = function(value) {\n return jspb.Message.setProto3BytesField(this, 17, value);\n};\n\n\n/**\n * optional int32 file_size = 30;\n * @return {number}\n */\nproto.ramius.DeviceQueue.prototype.getFileSize = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setFileSize = function(value) {\n return jspb.Message.setProto3IntField(this, 30, value);\n};\n\n\n/**\n * optional string filename = 31;\n * @return {string}\n */\nproto.ramius.DeviceQueue.prototype.getFilename = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 31, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setFilename = function(value) {\n return jspb.Message.setProto3StringField(this, 31, value);\n};\n\n\n/**\n * optional bool compressed = 32;\n * @return {boolean}\n */\nproto.ramius.DeviceQueue.prototype.getCompressed = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 32, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.DeviceQueue} returns this\n */\nproto.ramius.DeviceQueue.prototype.setCompressed = function(value) {\n return jspb.Message.setProto3BooleanField(this, 32, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.FlowServiceStat.repeatedFields_ = [14];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FlowServiceStat.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FlowServiceStat.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FlowServiceStat} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FlowServiceStat.toObject = function(includeInstance, msg) {\n var f, obj = {\n gatewayId: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n collectedAt: (f = msg.getCollectedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n flowReplicationPps: jspb.Message.getFieldWithDefault(msg, 13, 0),\n flowReplicationStatsList: jspb.Message.toObjectList(msg.getFlowReplicationStatsList(),\n proto.ramius.FlowReplicationStat.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FlowServiceStat}\n */\nproto.ramius.FlowServiceStat.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FlowServiceStat;\n return proto.ramius.FlowServiceStat.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FlowServiceStat} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FlowServiceStat}\n */\nproto.ramius.FlowServiceStat.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayId(value);\n break;\n case 12:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCollectedAt(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setFlowReplicationPps(value);\n break;\n case 14:\n var value = new proto.ramius.FlowReplicationStat;\n reader.readMessage(value,proto.ramius.FlowReplicationStat.deserializeBinaryFromReader);\n msg.addFlowReplicationStats(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FlowServiceStat.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FlowServiceStat.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FlowServiceStat} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FlowServiceStat.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getGatewayId();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getCollectedAt();\n if (f != null) {\n writer.writeMessage(\n 12,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getFlowReplicationPps();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n f = message.getFlowReplicationStatsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 14,\n f,\n proto.ramius.FlowReplicationStat.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string gateway_id = 11;\n * @return {string}\n */\nproto.ramius.FlowServiceStat.prototype.getGatewayId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.FlowServiceStat} returns this\n */\nproto.ramius.FlowServiceStat.prototype.setGatewayId = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp collected_at = 12;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.FlowServiceStat.prototype.getCollectedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 12));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.FlowServiceStat} returns this\n*/\nproto.ramius.FlowServiceStat.prototype.setCollectedAt = function(value) {\n return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.FlowServiceStat} returns this\n */\nproto.ramius.FlowServiceStat.prototype.clearCollectedAt = function() {\n return this.setCollectedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.FlowServiceStat.prototype.hasCollectedAt = function() {\n return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional int64 flow_replication_pps = 13;\n * @return {number}\n */\nproto.ramius.FlowServiceStat.prototype.getFlowReplicationPps = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.FlowServiceStat} returns this\n */\nproto.ramius.FlowServiceStat.prototype.setFlowReplicationPps = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * repeated FlowReplicationStat flow_replication_stats = 14;\n * @return {!Array}\n */\nproto.ramius.FlowServiceStat.prototype.getFlowReplicationStatsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.FlowReplicationStat, 14));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.FlowServiceStat} returns this\n*/\nproto.ramius.FlowServiceStat.prototype.setFlowReplicationStatsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 14, value);\n};\n\n\n/**\n * @param {!proto.ramius.FlowReplicationStat=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.FlowReplicationStat}\n */\nproto.ramius.FlowServiceStat.prototype.addFlowReplicationStats = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 14, opt_value, proto.ramius.FlowReplicationStat, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.FlowServiceStat} returns this\n */\nproto.ramius.FlowServiceStat.prototype.clearFlowReplicationStatsList = function() {\n return this.setFlowReplicationStatsList([]);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.AuthLevel = {\n AUTH_LEVEL_INVALID: 0,\n NO_AUTH_NO_PRIV: 1,\n AUTH_NO_PRIV: 2,\n AUTH_PRIV: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CapabilityType = {\n CAPABILITY_INVALID: 0,\n CAPABILITY_BOOT: 1,\n CAPABILITY_HARDWARE: 2,\n CAPABILITY_SOFTWARE: 3,\n CAPABILITY_TRUST: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CdgContainerStatus = {\n CDG_CONTAINER_STATUS_INVALID: 0,\n CDG_CONTAINER_STATUS_ACTIVE: 1,\n CDG_CONTAINER_STATUS_INACTIVE: 2,\n CDG_CONTAINER_STATUS_DEAD: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CdgContainerType = {\n CONTAINER_INVALID: 0,\n CONTAINER_CDG: 1,\n CONTAINER_TRUST: 2,\n CONTAINER_FLOW: 3,\n CONTAINER_TELEMETRY: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CdgResourceProfileType = {\n PROFILE_INVALID: 0,\n PROFILE_SMALL: 1,\n PROFILE_MED: 2,\n PROFILE_LARGE: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CdgStateType = {\n CDG_STATE_INVALID: 0,\n CDG_STATE_DOES_NOT_EXIST: 1,\n CDG_STATE_PROVISIONED: 2,\n CDG_STATE_SESSION_UP: 3,\n CDG_STATE_SESSION_LATE: 4,\n CDG_STATE_SESSION_EXPIRED: 5\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ConnectivityStatus = {\n CONNECTIVITY_INVALID: 0,\n CONNECTIVITY_PENDING: 1,\n CONNECTIVITY_UNEXPECTED_DATA: 2,\n CONNECTIVITY_NO_RESPONSE: 3,\n CONNECTIVITY_OK: 4,\n CONNECTIVITY_PUBLIC_KEY_ERROR: 5,\n CONNECTIVITY_PASSWORD_ERROR: 6,\n CONNECTIVITY_CANNOT_CONNECT: 7,\n CONNECTIVITY_REFUSED: 8,\n CONNECTIVITY_ABORTED: 9,\n CONNECTIVITY_RESET: 10,\n CONNECTIVITY_DNS_ERROR: 11,\n CONNECTIVITY_TIMED_OUT: 12,\n CONNECTIVITY_CANNOT_INIT_SSH: 13,\n CONNECTIVITY_CANNOT_EXECUTE_SSH: 14,\n CONNECTIVITY_COMMAND_CRASH: 15,\n CONNECTIVITY_TERMINATED: 16,\n CONNECTIVITY_INVALID_SIGNATURE: 17,\n CONNECTIVITY_INVALID_DATA: 18,\n CONNECTIVITY_ACCESS_DENIED: 19,\n CONNECTIVITY_CERT_MISMATCH: 20,\n CONNECTIVITY_HOST_KEY_MISMATCH: 21,\n CONNECTIVITY_CERT_INVALID: 22,\n CONNECTIVITY_CERT_EXPIRED: 23,\n CONNECTIVITY_CLOCK_SKEW: 24\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CredentialType = {\n CREDENTIAL_INVALID: 0,\n CREDENTIAL_PASSWORD: 1,\n CREDENTIAL_BGP: 2,\n CREDENTIAL_SNMP: 3,\n CREDENTIAL_PUBLIC_KEY: 4,\n CREDENTIAL_SNMP_V3: 5\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DeviceType = {\n DEVICE_INVALID: 0,\n DEVICE_CDG: 1,\n DEVICE_IOSXR: 2,\n DEVICE_IOSXE: 3,\n DEVICE_UNMANAGED: 4,\n DEVICE_SONIC: 5\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DigestAlgorithm = {\n DIGEST_INVALID: 0,\n MD5: 1,\n SHA1: 2,\n SHA256: 3,\n SHA384: 4,\n SHA512: 5,\n SHA224: 6\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryBgpPeerAdminStatusType = {\n BGP_PEER_ADMIN_STATUS_UNKNOWN: 0,\n BGP_PEER_ADMIN_STATUS_STOP: 1,\n BGP_PEER_ADMIN_STATUS_START: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryBgpProtocolType = {\n BGP_PROTOCOL_UNKNOWN: 0,\n BGP_PROTOCOL_IPV4: 1,\n BGP_PROTOCOL_IPV6: 2,\n BGP_PROTOCOL_IPV4IPV6: 5\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryBgpSessionStateType = {\n BGP_SESSION_STATE_UNKNOWN: 0,\n BGP_SESSION_STATE_IDLE: 1,\n BGP_SESSION_STATE_CONNECT: 2,\n BGP_SESSION_STATE_ACTIVE: 3,\n BGP_SESSION_STATE_OPENSENT: 4,\n BGP_SESSION_STATE_OPENCONFIRM: 5,\n BGP_SESSION_STATE_ESTABLISHED: 6\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryInterfaceAdminStatusType = {\n ADMIN_STATUS_INVALID: 0,\n ADMIN_STATUS_UP: 1,\n ADMIN_STATUS_DOWN: 2,\n ADMIN_STATUS_TESTING: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryInterfaceOperStatusType = {\n OPER_STATUS_INVALID: 0,\n OPER_STATUS_UP: 1,\n OPER_STATUS_DOWN: 2,\n OPER_STATUS_TESTING: 3,\n OPER_STATUS_UNKNOWN: 4,\n OPER_STATUS_DORMANT: 5,\n OPER_STATUS_NOT_PRESENT: 6,\n OPER_STATUS_LOWER_LAYER_DOWN: 7\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryOsType = {\n OS_UNKNOWN: 0,\n OS_CISCO_IOSXE: 1,\n OS_CISCO_IOSXR: 2,\n OS_CISCO_NXOS: 3,\n OS_JUNIPER_JUNOS: 4,\n OS_HUAWEI_VRP: 5,\n OS_NOKIA_TIMOS: 6\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DiscoveryVendorType = {\n VENDOR_UNKNOWN: 0,\n VENDOR_CISCO: 9,\n VENDOR_HUAWEI: 2011,\n VENDOR_JUNIPER: 2636,\n VENDOR_NOKIA: 6527\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.EncryptionAlgorithm = {\n ENCRYPTION_INVALID: 0,\n DES: 2,\n AES128: 4,\n AES192: 5,\n AES256: 6,\n AES192C: 7,\n AES256C: 9\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.InterfaceMode = {\n INTERFACE_INVALID: 0,\n INTERFACE_AUTO: 1,\n INTERFACE_INTERNAL: 2,\n INTERFACE_EXTERNAL: 3,\n INTERFACE_UNMONITORED: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.InterfaceOverride = {\n NO_OVERRIDE: 0,\n EXCLUDE_FROM_DEVICE_CAPACITY: 1,\n EXCLUDE_FROM_DEVICE_DRILLDOWN: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.NetflowIfIndexMappingMode = {\n IF_INDEX_MAPPING_MODE_UNKNOWN: 0,\n IF_INDEX_MAPPING_MODE_AUTO: 1,\n IF_INDEX_MAPPING_MODE_ON: 2,\n IF_INDEX_MAPPING_MODE_OFF: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.OsType = {\n OS_INVALID: 0,\n IOS_XR: 1,\n IOS_XE: 2,\n NX_OS: 3,\n SONIC: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.TaskType = {\n PROCESS: 0,\n TERMINAL: 1,\n DECISION: 2,\n OUTPUT: 3,\n INPUT: 4\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: ccsubs_gen.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.AlarmRuleCategoryType', null, global);\ngoog.exportSymbol('proto.ramius.CcniAlarmRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniContentRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniEndpointRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniFeatureRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniGeneralRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniLimitRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniPeeringRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniReportRule', null, global);\ngoog.exportSymbol('proto.ramius.CcniSignonRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaAlarmRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaCloudIntegrationRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaCloudIntegrationRuleType', null, global);\ngoog.exportSymbol('proto.ramius.CctaContentRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaDataLookbackRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaDeviceSupportRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaDeviceSupportRuleType', null, global);\ngoog.exportSymbol('proto.ramius.CctaFunctionPackRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaFunctionPackRuleType', null, global);\ngoog.exportSymbol('proto.ramius.CctaLimitRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaSignonRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaSubscriptionRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaTrafficAnalysisRule', null, global);\ngoog.exportSymbol('proto.ramius.CctaTrafficAnalysisRuleType', null, global);\ngoog.exportSymbol('proto.ramius.CctiAlarmRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiContentRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiDataLookbackRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiInventoryReportingRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiLimitRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiReportingRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiSignonRule', null, global);\ngoog.exportSymbol('proto.ramius.CctiSubscriptionRule', null, global);\ngoog.exportSymbol('proto.ramius.ContentRuleType', null, global);\ngoog.exportSymbol('proto.ramius.DataLookbackRuleType', null, global);\ngoog.exportSymbol('proto.ramius.FeatureRuleType', null, global);\ngoog.exportSymbol('proto.ramius.GeneralRuleType', null, global);\ngoog.exportSymbol('proto.ramius.InventoryReportingRuleType', null, global);\ngoog.exportSymbol('proto.ramius.LimitRuleType', null, global);\ngoog.exportSymbol('proto.ramius.MeteringRecord', null, global);\ngoog.exportSymbol('proto.ramius.PeeringRuleType', null, global);\ngoog.exportSymbol('proto.ramius.ReportingRuleType', null, global);\ngoog.exportSymbol('proto.ramius.SignonRuleType', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionFeature', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionPlatform', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionProductId', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionRuleType', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionTier', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.MeteringRecord = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.MeteringRecord, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.MeteringRecord.displayName = 'proto.ramius.MeteringRecord';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniAlarmRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniAlarmRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniAlarmRule.displayName = 'proto.ramius.CcniAlarmRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniContentRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniContentRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniContentRule.displayName = 'proto.ramius.CcniContentRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniEndpointRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniEndpointRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniEndpointRule.displayName = 'proto.ramius.CcniEndpointRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniFeatureRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniFeatureRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniFeatureRule.displayName = 'proto.ramius.CcniFeatureRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniGeneralRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniGeneralRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniGeneralRule.displayName = 'proto.ramius.CcniGeneralRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniLimitRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniLimitRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniLimitRule.displayName = 'proto.ramius.CcniLimitRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniPeeringRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniPeeringRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniPeeringRule.displayName = 'proto.ramius.CcniPeeringRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniReportRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniReportRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniReportRule.displayName = 'proto.ramius.CcniReportRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CcniSignonRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CcniSignonRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CcniSignonRule.displayName = 'proto.ramius.CcniSignonRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaAlarmRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaAlarmRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaAlarmRule.displayName = 'proto.ramius.CctaAlarmRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaCloudIntegrationRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaCloudIntegrationRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaCloudIntegrationRule.displayName = 'proto.ramius.CctaCloudIntegrationRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaContentRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaContentRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaContentRule.displayName = 'proto.ramius.CctaContentRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaDataLookbackRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaDataLookbackRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaDataLookbackRule.displayName = 'proto.ramius.CctaDataLookbackRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaDeviceSupportRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaDeviceSupportRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaDeviceSupportRule.displayName = 'proto.ramius.CctaDeviceSupportRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaFunctionPackRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaFunctionPackRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaFunctionPackRule.displayName = 'proto.ramius.CctaFunctionPackRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaLimitRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaLimitRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaLimitRule.displayName = 'proto.ramius.CctaLimitRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaSignonRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaSignonRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaSignonRule.displayName = 'proto.ramius.CctaSignonRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaSubscriptionRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaSubscriptionRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaSubscriptionRule.displayName = 'proto.ramius.CctaSubscriptionRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctaTrafficAnalysisRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctaTrafficAnalysisRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctaTrafficAnalysisRule.displayName = 'proto.ramius.CctaTrafficAnalysisRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiAlarmRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiAlarmRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiAlarmRule.displayName = 'proto.ramius.CctiAlarmRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiContentRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiContentRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiContentRule.displayName = 'proto.ramius.CctiContentRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiDataLookbackRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiDataLookbackRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiDataLookbackRule.displayName = 'proto.ramius.CctiDataLookbackRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiInventoryReportingRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiInventoryReportingRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiInventoryReportingRule.displayName = 'proto.ramius.CctiInventoryReportingRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiLimitRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiLimitRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiLimitRule.displayName = 'proto.ramius.CctiLimitRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiReportingRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiReportingRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiReportingRule.displayName = 'proto.ramius.CctiReportingRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiSignonRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiSignonRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiSignonRule.displayName = 'proto.ramius.CctiSignonRule';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.CctiSubscriptionRule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.CctiSubscriptionRule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.CctiSubscriptionRule.displayName = 'proto.ramius.CctiSubscriptionRule';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.MeteringRecord.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.MeteringRecord.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.MeteringRecord} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MeteringRecord.toObject = function(includeInstance, msg) {\n var f, obj = {\n reported: jspb.Message.getFieldWithDefault(msg, 11, 0),\n permitted: jspb.Message.getFieldWithDefault(msg, 12, 0),\n used: jspb.Message.getFieldWithDefault(msg, 13, 0),\n timestamp: (f = msg.getTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n dimension: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n status: jspb.Message.getFieldWithDefault(msg, 16, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.MeteringRecord}\n */\nproto.ramius.MeteringRecord.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.MeteringRecord;\n return proto.ramius.MeteringRecord.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.MeteringRecord} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.MeteringRecord}\n */\nproto.ramius.MeteringRecord.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setReported(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setPermitted(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setUsed(value);\n break;\n case 14:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setTimestamp(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setDimension(value);\n break;\n case 16:\n var value = /** @type {string} */ (reader.readString());\n msg.setStatus(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.MeteringRecord.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.MeteringRecord.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.MeteringRecord} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MeteringRecord.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getReported();\n if (f !== 0) {\n writer.writeInt64(\n 11,\n f\n );\n }\n f = message.getPermitted();\n if (f !== 0) {\n writer.writeInt64(\n 12,\n f\n );\n }\n f = message.getUsed();\n if (f !== 0) {\n writer.writeInt64(\n 13,\n f\n );\n }\n f = message.getTimestamp();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getDimension();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getStatus();\n if (f.length > 0) {\n writer.writeString(\n 16,\n f\n );\n }\n};\n\n\n/**\n * optional int64 reported = 11;\n * @return {number}\n */\nproto.ramius.MeteringRecord.prototype.getReported = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.setReported = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional int64 permitted = 12;\n * @return {number}\n */\nproto.ramius.MeteringRecord.prototype.getPermitted = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.setPermitted = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional int64 used = 13;\n * @return {number}\n */\nproto.ramius.MeteringRecord.prototype.getUsed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.setUsed = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp timestamp = 14;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.MeteringRecord.prototype.getTimestamp = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 14));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.MeteringRecord} returns this\n*/\nproto.ramius.MeteringRecord.prototype.setTimestamp = function(value) {\n return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.clearTimestamp = function() {\n return this.setTimestamp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.MeteringRecord.prototype.hasTimestamp = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional string dimension = 15;\n * @return {string}\n */\nproto.ramius.MeteringRecord.prototype.getDimension = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.setDimension = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string status = 16;\n * @return {string}\n */\nproto.ramius.MeteringRecord.prototype.getStatus = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MeteringRecord} returns this\n */\nproto.ramius.MeteringRecord.prototype.setStatus = function(value) {\n return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniAlarmRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniAlarmRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniAlarmRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniAlarmRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n category: jspb.Message.getFieldWithDefault(msg, 13, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniAlarmRule}\n */\nproto.ramius.CcniAlarmRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniAlarmRule;\n return proto.ramius.CcniAlarmRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniAlarmRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniAlarmRule}\n */\nproto.ramius.CcniAlarmRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.AlarmRuleCategoryType} */ (reader.readEnum());\n msg.setCategory(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniAlarmRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniAlarmRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniAlarmRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniAlarmRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getCategory();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional AlarmType rule_id = 11;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.CcniAlarmRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.CcniAlarmRule} returns this\n */\nproto.ramius.CcniAlarmRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniAlarmRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniAlarmRule} returns this\n */\nproto.ramius.CcniAlarmRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional AlarmRuleCategoryType category = 13;\n * @return {!proto.ramius.AlarmRuleCategoryType}\n */\nproto.ramius.CcniAlarmRule.prototype.getCategory = function() {\n return /** @type {!proto.ramius.AlarmRuleCategoryType} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleCategoryType} value\n * @return {!proto.ramius.CcniAlarmRule} returns this\n */\nproto.ramius.CcniAlarmRule.prototype.setCategory = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool enabled = 14;\n * @return {boolean}\n */\nproto.ramius.CcniAlarmRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniAlarmRule} returns this\n */\nproto.ramius.CcniAlarmRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CcniAlarmRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniAlarmRule} returns this\n */\nproto.ramius.CcniAlarmRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniContentRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniContentRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniContentRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniContentRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n days: jspb.Message.getFieldWithDefault(msg, 13, 0),\n show: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniContentRule}\n */\nproto.ramius.CcniContentRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniContentRule;\n return proto.ramius.CcniContentRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniContentRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniContentRule}\n */\nproto.ramius.CcniContentRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.ContentRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDays(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setShow(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniContentRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniContentRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniContentRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniContentRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getDays();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getShow();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional ContentRuleType rule_id = 11;\n * @return {!proto.ramius.ContentRuleType}\n */\nproto.ramius.CcniContentRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.ContentRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ContentRuleType} value\n * @return {!proto.ramius.CcniContentRule} returns this\n */\nproto.ramius.CcniContentRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniContentRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniContentRule} returns this\n */\nproto.ramius.CcniContentRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 days = 13;\n * @return {number}\n */\nproto.ramius.CcniContentRule.prototype.getDays = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CcniContentRule} returns this\n */\nproto.ramius.CcniContentRule.prototype.setDays = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional bool show = 14;\n * @return {boolean}\n */\nproto.ramius.CcniContentRule.prototype.getShow = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniContentRule} returns this\n */\nproto.ramius.CcniContentRule.prototype.setShow = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CcniContentRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniContentRule} returns this\n */\nproto.ramius.CcniContentRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniEndpointRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniEndpointRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniEndpointRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniEndpointRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniEndpointRule}\n */\nproto.ramius.CcniEndpointRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniEndpointRule;\n return proto.ramius.CcniEndpointRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniEndpointRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniEndpointRule}\n */\nproto.ramius.CcniEndpointRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.EndpointType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniEndpointRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniEndpointRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniEndpointRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniEndpointRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional EndpointType rule_id = 11;\n * @return {!proto.ramius.EndpointType}\n */\nproto.ramius.CcniEndpointRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.EndpointType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.EndpointType} value\n * @return {!proto.ramius.CcniEndpointRule} returns this\n */\nproto.ramius.CcniEndpointRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniEndpointRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniEndpointRule} returns this\n */\nproto.ramius.CcniEndpointRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniEndpointRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniEndpointRule} returns this\n */\nproto.ramius.CcniEndpointRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniEndpointRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniEndpointRule} returns this\n */\nproto.ramius.CcniEndpointRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniFeatureRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniFeatureRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniFeatureRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniFeatureRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniFeatureRule}\n */\nproto.ramius.CcniFeatureRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniFeatureRule;\n return proto.ramius.CcniFeatureRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniFeatureRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniFeatureRule}\n */\nproto.ramius.CcniFeatureRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.FeatureRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniFeatureRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniFeatureRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniFeatureRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniFeatureRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional FeatureRuleType rule_id = 11;\n * @return {!proto.ramius.FeatureRuleType}\n */\nproto.ramius.CcniFeatureRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.FeatureRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.FeatureRuleType} value\n * @return {!proto.ramius.CcniFeatureRule} returns this\n */\nproto.ramius.CcniFeatureRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniFeatureRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniFeatureRule} returns this\n */\nproto.ramius.CcniFeatureRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniFeatureRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniFeatureRule} returns this\n */\nproto.ramius.CcniFeatureRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniFeatureRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniFeatureRule} returns this\n */\nproto.ramius.CcniFeatureRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniGeneralRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniGeneralRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniGeneralRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniGeneralRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniGeneralRule}\n */\nproto.ramius.CcniGeneralRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniGeneralRule;\n return proto.ramius.CcniGeneralRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniGeneralRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniGeneralRule}\n */\nproto.ramius.CcniGeneralRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.GeneralRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniGeneralRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniGeneralRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniGeneralRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniGeneralRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional GeneralRuleType rule_id = 11;\n * @return {!proto.ramius.GeneralRuleType}\n */\nproto.ramius.CcniGeneralRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.GeneralRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.GeneralRuleType} value\n * @return {!proto.ramius.CcniGeneralRule} returns this\n */\nproto.ramius.CcniGeneralRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniGeneralRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniGeneralRule} returns this\n */\nproto.ramius.CcniGeneralRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniGeneralRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniGeneralRule} returns this\n */\nproto.ramius.CcniGeneralRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniGeneralRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniGeneralRule} returns this\n */\nproto.ramius.CcniGeneralRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniLimitRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniLimitRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniLimitRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniLimitRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n permitted: jspb.Message.getFieldWithDefault(msg, 13, 0),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniLimitRule}\n */\nproto.ramius.CcniLimitRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniLimitRule;\n return proto.ramius.CcniLimitRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniLimitRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniLimitRule}\n */\nproto.ramius.CcniLimitRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.LimitRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPermitted(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniLimitRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniLimitRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniLimitRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniLimitRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getPermitted();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional LimitRuleType rule_id = 11;\n * @return {!proto.ramius.LimitRuleType}\n */\nproto.ramius.CcniLimitRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.LimitRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.LimitRuleType} value\n * @return {!proto.ramius.CcniLimitRule} returns this\n */\nproto.ramius.CcniLimitRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniLimitRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniLimitRule} returns this\n */\nproto.ramius.CcniLimitRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 permitted = 13;\n * @return {number}\n */\nproto.ramius.CcniLimitRule.prototype.getPermitted = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CcniLimitRule} returns this\n */\nproto.ramius.CcniLimitRule.prototype.setPermitted = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniLimitRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniLimitRule} returns this\n */\nproto.ramius.CcniLimitRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniPeeringRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniPeeringRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniPeeringRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniPeeringRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniPeeringRule}\n */\nproto.ramius.CcniPeeringRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniPeeringRule;\n return proto.ramius.CcniPeeringRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniPeeringRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniPeeringRule}\n */\nproto.ramius.CcniPeeringRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.PeeringRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniPeeringRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniPeeringRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniPeeringRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniPeeringRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional PeeringRuleType rule_id = 11;\n * @return {!proto.ramius.PeeringRuleType}\n */\nproto.ramius.CcniPeeringRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.PeeringRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.PeeringRuleType} value\n * @return {!proto.ramius.CcniPeeringRule} returns this\n */\nproto.ramius.CcniPeeringRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniPeeringRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniPeeringRule} returns this\n */\nproto.ramius.CcniPeeringRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniPeeringRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniPeeringRule} returns this\n */\nproto.ramius.CcniPeeringRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniPeeringRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniPeeringRule} returns this\n */\nproto.ramius.CcniPeeringRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniReportRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniReportRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniReportRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniReportRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniReportRule}\n */\nproto.ramius.CcniReportRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniReportRule;\n return proto.ramius.CcniReportRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniReportRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniReportRule}\n */\nproto.ramius.CcniReportRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.ReportType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniReportRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniReportRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniReportRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniReportRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional ReportType rule_id = 11;\n * @return {!proto.ramius.ReportType}\n */\nproto.ramius.CcniReportRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.ReportType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ReportType} value\n * @return {!proto.ramius.CcniReportRule} returns this\n */\nproto.ramius.CcniReportRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniReportRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniReportRule} returns this\n */\nproto.ramius.CcniReportRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniReportRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniReportRule} returns this\n */\nproto.ramius.CcniReportRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniReportRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniReportRule} returns this\n */\nproto.ramius.CcniReportRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CcniSignonRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CcniSignonRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CcniSignonRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniSignonRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CcniSignonRule}\n */\nproto.ramius.CcniSignonRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CcniSignonRule;\n return proto.ramius.CcniSignonRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CcniSignonRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CcniSignonRule}\n */\nproto.ramius.CcniSignonRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.SignonRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CcniSignonRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CcniSignonRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CcniSignonRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CcniSignonRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional SignonRuleType rule_id = 11;\n * @return {!proto.ramius.SignonRuleType}\n */\nproto.ramius.CcniSignonRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.SignonRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SignonRuleType} value\n * @return {!proto.ramius.CcniSignonRule} returns this\n */\nproto.ramius.CcniSignonRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CcniSignonRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CcniSignonRule} returns this\n */\nproto.ramius.CcniSignonRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CcniSignonRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniSignonRule} returns this\n */\nproto.ramius.CcniSignonRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CcniSignonRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CcniSignonRule} returns this\n */\nproto.ramius.CcniSignonRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaAlarmRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaAlarmRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaAlarmRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaAlarmRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n category: jspb.Message.getFieldWithDefault(msg, 13, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaAlarmRule}\n */\nproto.ramius.CctaAlarmRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaAlarmRule;\n return proto.ramius.CctaAlarmRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaAlarmRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaAlarmRule}\n */\nproto.ramius.CctaAlarmRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.AlarmRuleCategoryType} */ (reader.readEnum());\n msg.setCategory(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaAlarmRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaAlarmRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaAlarmRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaAlarmRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getCategory();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional AlarmType rule_id = 11;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.CctaAlarmRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.CctaAlarmRule} returns this\n */\nproto.ramius.CctaAlarmRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaAlarmRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaAlarmRule} returns this\n */\nproto.ramius.CctaAlarmRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional AlarmRuleCategoryType category = 13;\n * @return {!proto.ramius.AlarmRuleCategoryType}\n */\nproto.ramius.CctaAlarmRule.prototype.getCategory = function() {\n return /** @type {!proto.ramius.AlarmRuleCategoryType} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleCategoryType} value\n * @return {!proto.ramius.CctaAlarmRule} returns this\n */\nproto.ramius.CctaAlarmRule.prototype.setCategory = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool enabled = 14;\n * @return {boolean}\n */\nproto.ramius.CctaAlarmRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaAlarmRule} returns this\n */\nproto.ramius.CctaAlarmRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctaAlarmRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaAlarmRule} returns this\n */\nproto.ramius.CctaAlarmRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaCloudIntegrationRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaCloudIntegrationRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaCloudIntegrationRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaCloudIntegrationRule}\n */\nproto.ramius.CctaCloudIntegrationRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaCloudIntegrationRule;\n return proto.ramius.CctaCloudIntegrationRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaCloudIntegrationRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaCloudIntegrationRule}\n */\nproto.ramius.CctaCloudIntegrationRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.CctaCloudIntegrationRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaCloudIntegrationRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaCloudIntegrationRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaCloudIntegrationRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional CctaCloudIntegrationRuleType rule_id = 11;\n * @return {!proto.ramius.CctaCloudIntegrationRuleType}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.CctaCloudIntegrationRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CctaCloudIntegrationRuleType} value\n * @return {!proto.ramius.CctaCloudIntegrationRule} returns this\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaCloudIntegrationRule} returns this\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaCloudIntegrationRule} returns this\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaCloudIntegrationRule} returns this\n */\nproto.ramius.CctaCloudIntegrationRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaContentRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaContentRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaContentRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaContentRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n days: jspb.Message.getFieldWithDefault(msg, 13, 0),\n show: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaContentRule}\n */\nproto.ramius.CctaContentRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaContentRule;\n return proto.ramius.CctaContentRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaContentRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaContentRule}\n */\nproto.ramius.CctaContentRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.ContentRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDays(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setShow(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaContentRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaContentRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaContentRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaContentRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getDays();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getShow();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional ContentRuleType rule_id = 11;\n * @return {!proto.ramius.ContentRuleType}\n */\nproto.ramius.CctaContentRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.ContentRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ContentRuleType} value\n * @return {!proto.ramius.CctaContentRule} returns this\n */\nproto.ramius.CctaContentRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaContentRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaContentRule} returns this\n */\nproto.ramius.CctaContentRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 days = 13;\n * @return {number}\n */\nproto.ramius.CctaContentRule.prototype.getDays = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctaContentRule} returns this\n */\nproto.ramius.CctaContentRule.prototype.setDays = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional bool show = 14;\n * @return {boolean}\n */\nproto.ramius.CctaContentRule.prototype.getShow = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaContentRule} returns this\n */\nproto.ramius.CctaContentRule.prototype.setShow = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctaContentRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaContentRule} returns this\n */\nproto.ramius.CctaContentRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaDataLookbackRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaDataLookbackRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaDataLookbackRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaDataLookbackRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n interval: jspb.Message.getFieldWithDefault(msg, 13, 0),\n intervalType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaDataLookbackRule}\n */\nproto.ramius.CctaDataLookbackRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaDataLookbackRule;\n return proto.ramius.CctaDataLookbackRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaDataLookbackRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaDataLookbackRule}\n */\nproto.ramius.CctaDataLookbackRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.DataLookbackRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setInterval(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setIntervalType(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaDataLookbackRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaDataLookbackRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaDataLookbackRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaDataLookbackRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getInterval();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional DataLookbackRuleType rule_id = 11;\n * @return {!proto.ramius.DataLookbackRuleType}\n */\nproto.ramius.CctaDataLookbackRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.DataLookbackRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.DataLookbackRuleType} value\n * @return {!proto.ramius.CctaDataLookbackRule} returns this\n */\nproto.ramius.CctaDataLookbackRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaDataLookbackRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaDataLookbackRule} returns this\n */\nproto.ramius.CctaDataLookbackRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 interval = 13;\n * @return {number}\n */\nproto.ramius.CctaDataLookbackRule.prototype.getInterval = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctaDataLookbackRule} returns this\n */\nproto.ramius.CctaDataLookbackRule.prototype.setInterval = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional Duration interval_type = 14;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctaDataLookbackRule.prototype.getIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctaDataLookbackRule} returns this\n */\nproto.ramius.CctaDataLookbackRule.prototype.setIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctaDataLookbackRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaDataLookbackRule} returns this\n */\nproto.ramius.CctaDataLookbackRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaDeviceSupportRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaDeviceSupportRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaDeviceSupportRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaDeviceSupportRule}\n */\nproto.ramius.CctaDeviceSupportRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaDeviceSupportRule;\n return proto.ramius.CctaDeviceSupportRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaDeviceSupportRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaDeviceSupportRule}\n */\nproto.ramius.CctaDeviceSupportRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.CctaDeviceSupportRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaDeviceSupportRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaDeviceSupportRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaDeviceSupportRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional CctaDeviceSupportRuleType rule_id = 11;\n * @return {!proto.ramius.CctaDeviceSupportRuleType}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.CctaDeviceSupportRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CctaDeviceSupportRuleType} value\n * @return {!proto.ramius.CctaDeviceSupportRule} returns this\n */\nproto.ramius.CctaDeviceSupportRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaDeviceSupportRule} returns this\n */\nproto.ramius.CctaDeviceSupportRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaDeviceSupportRule} returns this\n */\nproto.ramius.CctaDeviceSupportRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctaDeviceSupportRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaDeviceSupportRule} returns this\n */\nproto.ramius.CctaDeviceSupportRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaFunctionPackRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaFunctionPackRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaFunctionPackRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaFunctionPackRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaFunctionPackRule}\n */\nproto.ramius.CctaFunctionPackRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaFunctionPackRule;\n return proto.ramius.CctaFunctionPackRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaFunctionPackRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaFunctionPackRule}\n */\nproto.ramius.CctaFunctionPackRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.CctaFunctionPackRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaFunctionPackRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaFunctionPackRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaFunctionPackRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaFunctionPackRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional CctaFunctionPackRuleType rule_id = 11;\n * @return {!proto.ramius.CctaFunctionPackRuleType}\n */\nproto.ramius.CctaFunctionPackRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.CctaFunctionPackRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CctaFunctionPackRuleType} value\n * @return {!proto.ramius.CctaFunctionPackRule} returns this\n */\nproto.ramius.CctaFunctionPackRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaFunctionPackRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaFunctionPackRule} returns this\n */\nproto.ramius.CctaFunctionPackRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctaFunctionPackRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaFunctionPackRule} returns this\n */\nproto.ramius.CctaFunctionPackRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctaFunctionPackRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaFunctionPackRule} returns this\n */\nproto.ramius.CctaFunctionPackRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaLimitRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaLimitRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaLimitRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaLimitRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n permitted: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaLimitRule}\n */\nproto.ramius.CctaLimitRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaLimitRule;\n return proto.ramius.CctaLimitRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaLimitRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaLimitRule}\n */\nproto.ramius.CctaLimitRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.LimitRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPermitted(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaLimitRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaLimitRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaLimitRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaLimitRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getPermitted();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional LimitRuleType rule_id = 11;\n * @return {!proto.ramius.LimitRuleType}\n */\nproto.ramius.CctaLimitRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.LimitRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.LimitRuleType} value\n * @return {!proto.ramius.CctaLimitRule} returns this\n */\nproto.ramius.CctaLimitRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaLimitRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaLimitRule} returns this\n */\nproto.ramius.CctaLimitRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 permitted = 13;\n * @return {number}\n */\nproto.ramius.CctaLimitRule.prototype.getPermitted = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctaLimitRule} returns this\n */\nproto.ramius.CctaLimitRule.prototype.setPermitted = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaSignonRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaSignonRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaSignonRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaSignonRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaSignonRule}\n */\nproto.ramius.CctaSignonRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaSignonRule;\n return proto.ramius.CctaSignonRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaSignonRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaSignonRule}\n */\nproto.ramius.CctaSignonRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.SignonRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaSignonRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaSignonRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaSignonRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaSignonRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional SignonRuleType rule_id = 11;\n * @return {!proto.ramius.SignonRuleType}\n */\nproto.ramius.CctaSignonRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.SignonRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SignonRuleType} value\n * @return {!proto.ramius.CctaSignonRule} returns this\n */\nproto.ramius.CctaSignonRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaSignonRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaSignonRule} returns this\n */\nproto.ramius.CctaSignonRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctaSignonRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaSignonRule} returns this\n */\nproto.ramius.CctaSignonRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctaSignonRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaSignonRule} returns this\n */\nproto.ramius.CctaSignonRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaSubscriptionRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaSubscriptionRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaSubscriptionRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaSubscriptionRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n minTerm: jspb.Message.getFieldWithDefault(msg, 13, 0),\n minTermIntervalType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n maxTerm: jspb.Message.getFieldWithDefault(msg, 15, 0),\n maxTermIntervalType: jspb.Message.getFieldWithDefault(msg, 16, 0),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 17, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaSubscriptionRule}\n */\nproto.ramius.CctaSubscriptionRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaSubscriptionRule;\n return proto.ramius.CctaSubscriptionRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaSubscriptionRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaSubscriptionRule}\n */\nproto.ramius.CctaSubscriptionRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.SubscriptionRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMinTerm(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setMinTermIntervalType(value);\n break;\n case 15:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMaxTerm(value);\n break;\n case 16:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setMaxTermIntervalType(value);\n break;\n case 17:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaSubscriptionRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaSubscriptionRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaSubscriptionRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaSubscriptionRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getMinTerm();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getMinTermIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getMaxTerm();\n if (f !== 0) {\n writer.writeInt32(\n 15,\n f\n );\n }\n f = message.getMaxTermIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 17,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionRuleType rule_id = 11;\n * @return {!proto.ramius.SubscriptionRuleType}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.SubscriptionRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionRuleType} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 min_term = 13;\n * @return {number}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getMinTerm = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setMinTerm = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional Duration min_term_interval_type = 14;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getMinTermIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setMinTermIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional int32 max_term = 15;\n * @return {number}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getMaxTerm = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setMaxTerm = function(value) {\n return jspb.Message.setProto3IntField(this, 15, value);\n};\n\n\n/**\n * optional Duration max_term_interval_type = 16;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getMaxTermIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setMaxTermIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n/**\n * optional bool optional = 17;\n * @return {boolean}\n */\nproto.ramius.CctaSubscriptionRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaSubscriptionRule} returns this\n */\nproto.ramius.CctaSubscriptionRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 17, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctaTrafficAnalysisRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctaTrafficAnalysisRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaTrafficAnalysisRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctaTrafficAnalysisRule}\n */\nproto.ramius.CctaTrafficAnalysisRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctaTrafficAnalysisRule;\n return proto.ramius.CctaTrafficAnalysisRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctaTrafficAnalysisRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctaTrafficAnalysisRule}\n */\nproto.ramius.CctaTrafficAnalysisRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.CctaTrafficAnalysisRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctaTrafficAnalysisRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctaTrafficAnalysisRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctaTrafficAnalysisRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional CctaTrafficAnalysisRuleType rule_id = 11;\n * @return {!proto.ramius.CctaTrafficAnalysisRuleType}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.CctaTrafficAnalysisRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.CctaTrafficAnalysisRuleType} value\n * @return {!proto.ramius.CctaTrafficAnalysisRule} returns this\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctaTrafficAnalysisRule} returns this\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaTrafficAnalysisRule} returns this\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctaTrafficAnalysisRule} returns this\n */\nproto.ramius.CctaTrafficAnalysisRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiAlarmRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiAlarmRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiAlarmRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiAlarmRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n category: jspb.Message.getFieldWithDefault(msg, 13, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiAlarmRule}\n */\nproto.ramius.CctiAlarmRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiAlarmRule;\n return proto.ramius.CctiAlarmRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiAlarmRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiAlarmRule}\n */\nproto.ramius.CctiAlarmRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {!proto.ramius.AlarmRuleCategoryType} */ (reader.readEnum());\n msg.setCategory(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiAlarmRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiAlarmRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiAlarmRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiAlarmRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getCategory();\n if (f !== 0.0) {\n writer.writeEnum(\n 13,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional AlarmType rule_id = 11;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.CctiAlarmRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.CctiAlarmRule} returns this\n */\nproto.ramius.CctiAlarmRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiAlarmRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiAlarmRule} returns this\n */\nproto.ramius.CctiAlarmRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional AlarmRuleCategoryType category = 13;\n * @return {!proto.ramius.AlarmRuleCategoryType}\n */\nproto.ramius.CctiAlarmRule.prototype.getCategory = function() {\n return /** @type {!proto.ramius.AlarmRuleCategoryType} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleCategoryType} value\n * @return {!proto.ramius.CctiAlarmRule} returns this\n */\nproto.ramius.CctiAlarmRule.prototype.setCategory = function(value) {\n return jspb.Message.setProto3EnumField(this, 13, value);\n};\n\n\n/**\n * optional bool enabled = 14;\n * @return {boolean}\n */\nproto.ramius.CctiAlarmRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiAlarmRule} returns this\n */\nproto.ramius.CctiAlarmRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctiAlarmRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiAlarmRule} returns this\n */\nproto.ramius.CctiAlarmRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiContentRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiContentRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiContentRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiContentRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n days: jspb.Message.getFieldWithDefault(msg, 13, 0),\n show: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiContentRule}\n */\nproto.ramius.CctiContentRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiContentRule;\n return proto.ramius.CctiContentRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiContentRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiContentRule}\n */\nproto.ramius.CctiContentRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.ContentRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDays(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setShow(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiContentRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiContentRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiContentRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiContentRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getDays();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getShow();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional ContentRuleType rule_id = 11;\n * @return {!proto.ramius.ContentRuleType}\n */\nproto.ramius.CctiContentRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.ContentRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ContentRuleType} value\n * @return {!proto.ramius.CctiContentRule} returns this\n */\nproto.ramius.CctiContentRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiContentRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiContentRule} returns this\n */\nproto.ramius.CctiContentRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 days = 13;\n * @return {number}\n */\nproto.ramius.CctiContentRule.prototype.getDays = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctiContentRule} returns this\n */\nproto.ramius.CctiContentRule.prototype.setDays = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional bool show = 14;\n * @return {boolean}\n */\nproto.ramius.CctiContentRule.prototype.getShow = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiContentRule} returns this\n */\nproto.ramius.CctiContentRule.prototype.setShow = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctiContentRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiContentRule} returns this\n */\nproto.ramius.CctiContentRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiDataLookbackRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiDataLookbackRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiDataLookbackRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiDataLookbackRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n interval: jspb.Message.getFieldWithDefault(msg, 13, 0),\n intervalType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 15, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiDataLookbackRule}\n */\nproto.ramius.CctiDataLookbackRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiDataLookbackRule;\n return proto.ramius.CctiDataLookbackRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiDataLookbackRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiDataLookbackRule}\n */\nproto.ramius.CctiDataLookbackRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.DataLookbackRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setInterval(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setIntervalType(value);\n break;\n case 15:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiDataLookbackRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiDataLookbackRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiDataLookbackRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiDataLookbackRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getInterval();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 15,\n f\n );\n }\n};\n\n\n/**\n * optional DataLookbackRuleType rule_id = 11;\n * @return {!proto.ramius.DataLookbackRuleType}\n */\nproto.ramius.CctiDataLookbackRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.DataLookbackRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.DataLookbackRuleType} value\n * @return {!proto.ramius.CctiDataLookbackRule} returns this\n */\nproto.ramius.CctiDataLookbackRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiDataLookbackRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiDataLookbackRule} returns this\n */\nproto.ramius.CctiDataLookbackRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 interval = 13;\n * @return {number}\n */\nproto.ramius.CctiDataLookbackRule.prototype.getInterval = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctiDataLookbackRule} returns this\n */\nproto.ramius.CctiDataLookbackRule.prototype.setInterval = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional Duration interval_type = 14;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctiDataLookbackRule.prototype.getIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctiDataLookbackRule} returns this\n */\nproto.ramius.CctiDataLookbackRule.prototype.setIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional bool optional = 15;\n * @return {boolean}\n */\nproto.ramius.CctiDataLookbackRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 15, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiDataLookbackRule} returns this\n */\nproto.ramius.CctiDataLookbackRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 15, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiInventoryReportingRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiInventoryReportingRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiInventoryReportingRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiInventoryReportingRule}\n */\nproto.ramius.CctiInventoryReportingRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiInventoryReportingRule;\n return proto.ramius.CctiInventoryReportingRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiInventoryReportingRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiInventoryReportingRule}\n */\nproto.ramius.CctiInventoryReportingRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.InventoryReportingRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiInventoryReportingRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiInventoryReportingRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiInventoryReportingRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional InventoryReportingRuleType rule_id = 11;\n * @return {!proto.ramius.InventoryReportingRuleType}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.InventoryReportingRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.InventoryReportingRuleType} value\n * @return {!proto.ramius.CctiInventoryReportingRule} returns this\n */\nproto.ramius.CctiInventoryReportingRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiInventoryReportingRule} returns this\n */\nproto.ramius.CctiInventoryReportingRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiInventoryReportingRule} returns this\n */\nproto.ramius.CctiInventoryReportingRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctiInventoryReportingRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiInventoryReportingRule} returns this\n */\nproto.ramius.CctiInventoryReportingRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiLimitRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiLimitRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiLimitRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiLimitRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n permitted: jspb.Message.getFieldWithDefault(msg, 13, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiLimitRule}\n */\nproto.ramius.CctiLimitRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiLimitRule;\n return proto.ramius.CctiLimitRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiLimitRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiLimitRule}\n */\nproto.ramius.CctiLimitRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.LimitRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPermitted(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiLimitRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiLimitRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiLimitRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiLimitRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getPermitted();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n};\n\n\n/**\n * optional LimitRuleType rule_id = 11;\n * @return {!proto.ramius.LimitRuleType}\n */\nproto.ramius.CctiLimitRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.LimitRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.LimitRuleType} value\n * @return {!proto.ramius.CctiLimitRule} returns this\n */\nproto.ramius.CctiLimitRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiLimitRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiLimitRule} returns this\n */\nproto.ramius.CctiLimitRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 permitted = 13;\n * @return {number}\n */\nproto.ramius.CctiLimitRule.prototype.getPermitted = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctiLimitRule} returns this\n */\nproto.ramius.CctiLimitRule.prototype.setPermitted = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiReportingRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiReportingRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiReportingRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiReportingRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiReportingRule}\n */\nproto.ramius.CctiReportingRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiReportingRule;\n return proto.ramius.CctiReportingRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiReportingRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiReportingRule}\n */\nproto.ramius.CctiReportingRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.ReportingRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiReportingRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiReportingRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiReportingRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiReportingRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional ReportingRuleType rule_id = 11;\n * @return {!proto.ramius.ReportingRuleType}\n */\nproto.ramius.CctiReportingRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.ReportingRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ReportingRuleType} value\n * @return {!proto.ramius.CctiReportingRule} returns this\n */\nproto.ramius.CctiReportingRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiReportingRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiReportingRule} returns this\n */\nproto.ramius.CctiReportingRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctiReportingRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiReportingRule} returns this\n */\nproto.ramius.CctiReportingRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctiReportingRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiReportingRule} returns this\n */\nproto.ramius.CctiReportingRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiSignonRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiSignonRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiSignonRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiSignonRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 13, false),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiSignonRule}\n */\nproto.ramius.CctiSignonRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiSignonRule;\n return proto.ramius.CctiSignonRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiSignonRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiSignonRule}\n */\nproto.ramius.CctiSignonRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.SignonRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiSignonRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiSignonRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiSignonRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiSignonRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 13,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional SignonRuleType rule_id = 11;\n * @return {!proto.ramius.SignonRuleType}\n */\nproto.ramius.CctiSignonRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.SignonRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SignonRuleType} value\n * @return {!proto.ramius.CctiSignonRule} returns this\n */\nproto.ramius.CctiSignonRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiSignonRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiSignonRule} returns this\n */\nproto.ramius.CctiSignonRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional bool enabled = 13;\n * @return {boolean}\n */\nproto.ramius.CctiSignonRule.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 13, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiSignonRule} returns this\n */\nproto.ramius.CctiSignonRule.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 13, value);\n};\n\n\n/**\n * optional bool optional = 14;\n * @return {boolean}\n */\nproto.ramius.CctiSignonRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiSignonRule} returns this\n */\nproto.ramius.CctiSignonRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.CctiSubscriptionRule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.CctiSubscriptionRule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.CctiSubscriptionRule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiSubscriptionRule.toObject = function(includeInstance, msg) {\n var f, obj = {\n ruleId: jspb.Message.getFieldWithDefault(msg, 11, 0),\n tier: jspb.Message.getFieldWithDefault(msg, 12, 0),\n minTerm: jspb.Message.getFieldWithDefault(msg, 13, 0),\n minTermIntervalType: jspb.Message.getFieldWithDefault(msg, 14, 0),\n maxTerm: jspb.Message.getFieldWithDefault(msg, 15, 0),\n maxTermIntervalType: jspb.Message.getFieldWithDefault(msg, 16, 0),\n optional: jspb.Message.getBooleanFieldWithDefault(msg, 17, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.CctiSubscriptionRule}\n */\nproto.ramius.CctiSubscriptionRule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.CctiSubscriptionRule;\n return proto.ramius.CctiSubscriptionRule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.CctiSubscriptionRule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.CctiSubscriptionRule}\n */\nproto.ramius.CctiSubscriptionRule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {!proto.ramius.SubscriptionRuleType} */ (reader.readEnum());\n msg.setRuleId(value);\n break;\n case 12:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setTier(value);\n break;\n case 13:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMinTerm(value);\n break;\n case 14:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setMinTermIntervalType(value);\n break;\n case 15:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMaxTerm(value);\n break;\n case 16:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setMaxTermIntervalType(value);\n break;\n case 17:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setOptional(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.CctiSubscriptionRule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.CctiSubscriptionRule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.CctiSubscriptionRule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.CctiSubscriptionRule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRuleId();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 12,\n f\n );\n }\n f = message.getMinTerm();\n if (f !== 0) {\n writer.writeInt32(\n 13,\n f\n );\n }\n f = message.getMinTermIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 14,\n f\n );\n }\n f = message.getMaxTerm();\n if (f !== 0) {\n writer.writeInt32(\n 15,\n f\n );\n }\n f = message.getMaxTermIntervalType();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n f = message.getOptional();\n if (f) {\n writer.writeBool(\n 17,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionRuleType rule_id = 11;\n * @return {!proto.ramius.SubscriptionRuleType}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getRuleId = function() {\n return /** @type {!proto.ramius.SubscriptionRuleType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionRuleType} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setRuleId = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional SubscriptionTier tier = 12;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 12, value);\n};\n\n\n/**\n * optional int32 min_term = 13;\n * @return {number}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getMinTerm = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setMinTerm = function(value) {\n return jspb.Message.setProto3IntField(this, 13, value);\n};\n\n\n/**\n * optional Duration min_term_interval_type = 14;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getMinTermIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setMinTermIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 14, value);\n};\n\n\n/**\n * optional int32 max_term = 15;\n * @return {number}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getMaxTerm = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setMaxTerm = function(value) {\n return jspb.Message.setProto3IntField(this, 15, value);\n};\n\n\n/**\n * optional Duration max_term_interval_type = 16;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getMaxTermIntervalType = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setMaxTermIntervalType = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n/**\n * optional bool optional = 17;\n * @return {boolean}\n */\nproto.ramius.CctiSubscriptionRule.prototype.getOptional = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.CctiSubscriptionRule} returns this\n */\nproto.ramius.CctiSubscriptionRule.prototype.setOptional = function(value) {\n return jspb.Message.setProto3BooleanField(this, 17, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.AlarmRuleCategoryType = {\n INVALID_ALARM_RULE_CATEGORY_TYPE: 0,\n ALARM_RULE_CATEGORY_BASIC: 1,\n ALARM_RULE_CATEGORY_PREMIUM: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CctaCloudIntegrationRuleType = {\n INVALID_CCTA_CLOUD_INTEGRATION_RULE_TYPE: 0,\n CCTA_CLOUD_INTEGRATION_IR_ROUTING: 1,\n CCTA_CLOUD_INTEGRATION_FLOW_REPLICATION: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CctaDeviceSupportRuleType = {\n INVALID_CCTA_DEVICE_SUPPORT_RULE_TYPE: 0,\n CCTA_DEVICE_SUPPORT_MULTI_VENDOR: 1,\n CCTA_DEVICE_SUPPORT_SSHV2: 2,\n CCTA_DEVICE_SUPPORT_BGP: 3,\n CCTA_DEVICE_SUPPORT_NETFLOW_V5_V9: 4,\n CCTA_DEVICE_SUPPORT_IP_FIX: 5,\n CCTA_DEVICE_SUPPORT_JFLOW: 6,\n CCTA_DEVICE_SUPPORT_SNMP_V2: 7,\n CCTA_DEVICE_SUPPORT_SNMP_V3: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CctaFunctionPackRuleType = {\n INVALID_CCTA_FUNCTION_PACK_RULE_TYPE: 0,\n CCTA_FUNCTION_PACK_PEER_PROSPECTING: 1,\n CCTA_FUNCTION_PACK_PEERING_OPTIMIZATION_EQUAL: 2,\n CCTA_FUNCTION_PACK_PEERING_OPTIMIZATION_UNEQUAL: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.CctaTrafficAnalysisRuleType = {\n INVALID_CCTA_TRAFFIC_ANALYSIS_RULE_TYPE: 0,\n CCTA_TRAFFIC_ANALYSIS_PREFIX: 1,\n CCTA_TRAFFIC_ANALYSIS_PREFIX_GROUP: 2,\n CCTA_TRAFFIC_ANALYSIS_ASN: 3,\n CCTA_TRAFFIC_ANALYSIS_ASN_GROUP: 4,\n CCTA_TRAFFIC_ANALYSIS_INTERFACE: 5,\n CCTA_TRAFFIC_ANALYSIS_INTERFACE_GROUP: 6,\n CCTA_TRAFFIC_ANALYSIS_DEVICE: 7,\n CCTA_TRAFFIC_ANALYSIS_DEVICE_GROUP: 8,\n CCTA_TRAFFIC_ANALYSIS_RECOMMENDATIONS: 9\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ContentRuleType = {\n INVALID_CONTENT_RULE_TYPE: 0,\n CONTENT_RULE_BGP_UPDATE_HISTORY: 1,\n CONTENT_RULE_BGP_ASN_UPDATE_HISTORY: 2,\n CONTENT_RULE_BGP_PREFIX_UPDATE_HISTORY: 3,\n CONTENT_RULE_BGP_ALARM_UPDATE_HISTORY: 4,\n CONTENT_RULE_BGP_PEER_DEVICE_UPDATE_HISTORY: 5,\n CONTENT_RULE_ALARM_HISTORY: 6,\n CONTENT_RULE_PREFIX_TOPOLOGY: 7,\n CONTENT_RULE_ROUTE_ORIGIN_VALIDATION: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DataLookbackRuleType = {\n INVALID_DATA_LOOKBACK_RULE_TYPE: 0,\n DATA_RETENTION_AND_LOOKBACK: 1\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.FeatureRuleType = {\n INVALID_FEATURE_RULE_TYPE: 0,\n FEATURE_RULE_API_ACCESS: 1,\n FEATURE_RULE_TECH_SUPPORT: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.GeneralRuleType = {\n INVALID_GENERAL_RULE_TYPE: 0,\n GENERAL_RULE_POLICIES: 1,\n GENERAL_RULE_ALARMS: 2,\n GENERAL_RULE_PREFIXES: 3,\n GENERAL_RULE_PREFIX_LOOKING_GLASS: 4,\n GENERAL_RULE_ASNS: 5,\n GENERAL_RULE_ASN_LOOKING_GLASS: 6\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.InventoryReportingRuleType = {\n INVALID_TRUST_INVENTORY_REPORTING_RULE_TYPE: 0,\n TRUST_INVENTORY_REPORTING_IMMUTABLE_EVIDENCE_CHAIN: 1,\n TRUST_INVENTORY_REPORTING_SYSTEM_CHANGE_HISTORY: 2,\n TRUST_INVENTORY_REPORTING_DEVICE_SOFTWARE_COMPARISON: 3,\n TRUST_INVENTORY_REPORTING_DEVICE_HARDWARE_COMPARISON: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.LimitRuleType = {\n INVALID_LIMIT_RULE_TYPE: 0,\n LIMIT_RULE_PREFIXES: 1,\n LIMIT_RULE_DEVICES: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.PeeringRuleType = {\n INVALID_PEERING_RULE_TYPE: 0,\n PEERING_RULE_MANAGE_DEVICES: 1,\n PEERING_RULE_ADD_DEVICES: 2,\n PEERING_RULE_GET_DEVICES: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ReportingRuleType = {\n INVALID_TRUST_REPORTING_RULE_TYPE: 0,\n TRUST_REPORTING_HARDWARE_INTEGRITY_VALIDATION: 1,\n TRUST_REPORTING_SOFTWARE_INTEGRITY_VALIDATION: 2,\n TRUST_REPORTING_PROCESS_INTEGRITY_VALIDATION: 3,\n TRUST_REPORTING_XR_PACKAGE_SIGNATURE: 4,\n TRUST_REPORTING_XR_ENHANCED_FILE_SYSTEM_INTEGRITY: 5\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SignonRuleType = {\n INVALID_SIGNON_RULE_TYPE: 0,\n SIGNON_UNLIMITED_USERS: 1,\n SIGNON_CISCO_ACCOUNTS: 2,\n SIGNON_SUPPORT: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionFeature = {\n INVALID_FEATURE: 0,\n FEATURE_CCNI: 1,\n FEATURE_CCTI: 2,\n FEATURE_CCTA: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionPlatform = {\n INVALID_PLATFORM: 0,\n PLATFORM_SBP: 1,\n PLATFORM_STORE_FRONT: 2,\n PLATFORM_CROSSWORK: 3,\n PLATFORM_AWS: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionProductId = {\n INVALID_PID: 0,\n L_SPAUTO_NI_IB: 1,\n SP_SVS_CNI_IB_B: 2,\n L_SPAUTO_NI_IE: 3,\n SP_SVS_CNI_IE_B: 4,\n L_SPAUTO_NI_IS: 5,\n SP_SVS_CNI_IS_B: 6,\n L_TRUST_ES_EMBED: 7,\n L_TRUST_ES_GN: 8,\n L_TRUST_FP1_HDR: 9,\n L_TRUST_FP2_NAR: 10,\n L_TRUST_FP3_REC: 11,\n L_SEC_NI_IB: 12,\n L_SEC_NI_IE: 13,\n L_SEC_NI_IS: 14,\n L_SEC_SP_NI_IB: 15,\n L_SEC_SP_NI_IE: 16,\n L_SEC_SP_NI_IS: 17,\n L_SPAUTO_TI_E: 18,\n L_TRUST_DG_K9: 19,\n SP_SVS_CTI_B: 20,\n L_SEC_TI_E: 21,\n L_SEC_SP_TI_E: 22,\n XW_TA_STANDARD: 23,\n SD_SVS_FC_IOSXR: 24,\n L_CLOUD_TI_E: 25,\n L_SPAUTO_TA_E_XS: 50,\n L_SPAUTO_TA_E_S: 51,\n L_SPAUTO_TA_E_M: 52,\n L_SPAUTO_TA_E_L: 53,\n L_SPAUTO_TA_E_XL: 54,\n L_SEC_TA_E_XS: 55,\n L_SEC_TA_E_S: 56,\n L_SEC_TA_E_M: 57,\n L_SEC_TA_E_L: 58,\n L_SEC_TA_E_XL: 59,\n L_CLOUD_TA_E_XS: 60,\n L_CLOUD_TA_E_S: 61,\n L_CLOUD_TA_E_M: 62,\n L_CLOUD_TA_E_L: 63,\n L_CLOUD_TA_E_XL: 64,\n L_CLD_DG_K9: 65,\n SP_SVS_CTA_B: 66,\n L_CLOUD_NI_IB: 67,\n L_CLOUD_NI_IE: 68,\n L_CLOUD_NI_IS: 69,\n L_TRUST_ES_SIAST: 70,\n L_TRUST_ES_SIA3: 71,\n L_TRUST_ES_SIA5: 72,\n L_TRUST_ES_SIA1M: 73\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionRuleType = {\n INVALID_SUBSCRIPTION_RULE_TYPE: 0,\n SUBSCRIPTION_TERM: 1\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionTier = {\n INVALID_TIER: 0,\n FREE: 1,\n BASIC: 2,\n ESSENTIALS: 3,\n STANDARD: 4,\n EMBEDDED: 5,\n ADVANCED: 6,\n ADVANTAGE: 7,\n PREMIER: 8\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: common.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\ngoog.exportSymbol('proto.ramius.AsPathList', null, global);\ngoog.exportSymbol('proto.ramius.AsnList', null, global);\ngoog.exportSymbol('proto.ramius.BigInt', null, global);\ngoog.exportSymbol('proto.ramius.GenericResponse', null, global);\ngoog.exportSymbol('proto.ramius.KafkaOffsetState', null, global);\ngoog.exportSymbol('proto.ramius.KeyValueEvent', null, global);\ngoog.exportSymbol('proto.ramius.OptionalUint32', null, global);\ngoog.exportSymbol('proto.ramius.Prefix', null, global);\ngoog.exportSymbol('proto.ramius.SearchFilter', null, global);\ngoog.exportSymbol('proto.ramius.TopologyEdge', null, global);\ngoog.exportSymbol('proto.ramius.TopologyPath', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsnList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AsnList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AsnList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsnList.displayName = 'proto.ramius.AsnList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsPathList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AsPathList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AsPathList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsPathList.displayName = 'proto.ramius.AsPathList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Prefix = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.Prefix, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Prefix.displayName = 'proto.ramius.Prefix';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BigInt = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.BigInt, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BigInt.displayName = 'proto.ramius.BigInt';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OptionalUint32 = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OptionalUint32, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OptionalUint32.displayName = 'proto.ramius.OptionalUint32';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TopologyEdge = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TopologyEdge, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TopologyEdge.displayName = 'proto.ramius.TopologyEdge';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TopologyPath = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.TopologyPath.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.TopologyPath, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TopologyPath.displayName = 'proto.ramius.TopologyPath';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GenericResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GenericResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GenericResponse.displayName = 'proto.ramius.GenericResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.KafkaOffsetState = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.KafkaOffsetState, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.KafkaOffsetState.displayName = 'proto.ramius.KafkaOffsetState';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.KeyValueEvent = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.KeyValueEvent, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.KeyValueEvent.displayName = 'proto.ramius.KeyValueEvent';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SearchFilter = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SearchFilter.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SearchFilter, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SearchFilter.displayName = 'proto.ramius.SearchFilter';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AsnList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsnList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsnList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsnList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnList.toObject = function(includeInstance, msg) {\n var f, obj = {\n asnList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsnList}\n */\nproto.ramius.AsnList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsnList;\n return proto.ramius.AsnList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsnList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsnList}\n */\nproto.ramius.AsnList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addAsn(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsnList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsnList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsnList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsnList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 asn = 1;\n * @return {!Array}\n */\nproto.ramius.AsnList.prototype.getAsnList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AsnList} returns this\n */\nproto.ramius.AsnList.prototype.setAsnList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AsnList} returns this\n */\nproto.ramius.AsnList.prototype.addAsn = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AsnList} returns this\n */\nproto.ramius.AsnList.prototype.clearAsnList = function() {\n return this.setAsnList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AsPathList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsPathList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsPathList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsPathList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathList.toObject = function(includeInstance, msg) {\n var f, obj = {\n asPathList: jspb.Message.toObjectList(msg.getAsPathList(),\n proto.ramius.AsnList.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsPathList}\n */\nproto.ramius.AsPathList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsPathList;\n return proto.ramius.AsPathList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsPathList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsPathList}\n */\nproto.ramius.AsPathList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AsnList;\n reader.readMessage(value,proto.ramius.AsnList.deserializeBinaryFromReader);\n msg.addAsPath(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsPathList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsPathList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsPathList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsPathList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.AsnList.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated AsnList as_path = 1;\n * @return {!Array}\n */\nproto.ramius.AsPathList.prototype.getAsPathList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AsnList, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AsPathList} returns this\n*/\nproto.ramius.AsPathList.prototype.setAsPathList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.AsnList=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AsnList}\n */\nproto.ramius.AsPathList.prototype.addAsPath = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.AsnList, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AsPathList} returns this\n */\nproto.ramius.AsPathList.prototype.clearAsPathList = function() {\n return this.setAsPathList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Prefix.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Prefix.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Prefix} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Prefix.toObject = function(includeInstance, msg) {\n var f, obj = {\n ipAddrType: jspb.Message.getFieldWithDefault(msg, 1, 0),\n length: jspb.Message.getFieldWithDefault(msg, 2, 0),\n address: msg.getAddress_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Prefix}\n */\nproto.ramius.Prefix.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Prefix;\n return proto.ramius.Prefix.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Prefix} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Prefix}\n */\nproto.ramius.Prefix.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.IPAddrType} */ (reader.readEnum());\n msg.setIpAddrType(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setLength(value);\n break;\n case 3:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setAddress(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Prefix.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Prefix.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Prefix} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Prefix.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIpAddrType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getAddress_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional IPAddrType ip_addr_type = 1;\n * @return {!proto.ramius.IPAddrType}\n */\nproto.ramius.Prefix.prototype.getIpAddrType = function() {\n return /** @type {!proto.ramius.IPAddrType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.IPAddrType} value\n * @return {!proto.ramius.Prefix} returns this\n */\nproto.ramius.Prefix.prototype.setIpAddrType = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional uint32 length = 2;\n * @return {number}\n */\nproto.ramius.Prefix.prototype.getLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Prefix} returns this\n */\nproto.ramius.Prefix.prototype.setLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional bytes address = 3;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.Prefix.prototype.getAddress = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * optional bytes address = 3;\n * This is a type-conversion wrapper around `getAddress()`\n * @return {string}\n */\nproto.ramius.Prefix.prototype.getAddress_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getAddress()));\n};\n\n\n/**\n * optional bytes address = 3;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getAddress()`\n * @return {!Uint8Array}\n */\nproto.ramius.Prefix.prototype.getAddress_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getAddress()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.Prefix} returns this\n */\nproto.ramius.Prefix.prototype.setAddress = function(value) {\n return jspb.Message.setProto3BytesField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BigInt.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BigInt.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BigInt} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BigInt.toObject = function(includeInstance, msg) {\n var f, obj = {\n value: msg.getValue_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BigInt}\n */\nproto.ramius.BigInt.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BigInt;\n return proto.ramius.BigInt.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BigInt} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BigInt}\n */\nproto.ramius.BigInt.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setValue(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BigInt.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BigInt.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BigInt} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BigInt.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getValue_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bytes value = 1;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.BigInt.prototype.getValue = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * optional bytes value = 1;\n * This is a type-conversion wrapper around `getValue()`\n * @return {string}\n */\nproto.ramius.BigInt.prototype.getValue_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getValue()));\n};\n\n\n/**\n * optional bytes value = 1;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getValue()`\n * @return {!Uint8Array}\n */\nproto.ramius.BigInt.prototype.getValue_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getValue()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.BigInt} returns this\n */\nproto.ramius.BigInt.prototype.setValue = function(value) {\n return jspb.Message.setProto3BytesField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OptionalUint32.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OptionalUint32.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OptionalUint32} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OptionalUint32.toObject = function(includeInstance, msg) {\n var f, obj = {\n value: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OptionalUint32}\n */\nproto.ramius.OptionalUint32.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OptionalUint32;\n return proto.ramius.OptionalUint32.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OptionalUint32} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OptionalUint32}\n */\nproto.ramius.OptionalUint32.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setValue(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OptionalUint32.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OptionalUint32.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OptionalUint32} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OptionalUint32.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getValue();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 value = 1;\n * @return {number}\n */\nproto.ramius.OptionalUint32.prototype.getValue = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OptionalUint32} returns this\n */\nproto.ramius.OptionalUint32.prototype.setValue = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TopologyEdge.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TopologyEdge.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TopologyEdge} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TopologyEdge.toObject = function(includeInstance, msg) {\n var f, obj = {\n src: jspb.Message.getFieldWithDefault(msg, 1, 0),\n dst: jspb.Message.getFieldWithDefault(msg, 2, 0),\n timestamp: (f = msg.getTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TopologyEdge}\n */\nproto.ramius.TopologyEdge.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TopologyEdge;\n return proto.ramius.TopologyEdge.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TopologyEdge} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TopologyEdge}\n */\nproto.ramius.TopologyEdge.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setSrc(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setDst(value);\n break;\n case 3:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setTimestamp(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TopologyEdge.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TopologyEdge.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TopologyEdge} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TopologyEdge.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSrc();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getDst();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getTimestamp();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional uint32 src = 1;\n * @return {number}\n */\nproto.ramius.TopologyEdge.prototype.getSrc = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TopologyEdge} returns this\n */\nproto.ramius.TopologyEdge.prototype.setSrc = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 dst = 2;\n * @return {number}\n */\nproto.ramius.TopologyEdge.prototype.getDst = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TopologyEdge} returns this\n */\nproto.ramius.TopologyEdge.prototype.setDst = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp timestamp = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.TopologyEdge.prototype.getTimestamp = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.TopologyEdge} returns this\n*/\nproto.ramius.TopologyEdge.prototype.setTimestamp = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.TopologyEdge} returns this\n */\nproto.ramius.TopologyEdge.prototype.clearTimestamp = function() {\n return this.setTimestamp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.TopologyEdge.prototype.hasTimestamp = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.TopologyPath.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TopologyPath.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TopologyPath.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TopologyPath} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TopologyPath.toObject = function(includeInstance, msg) {\n var f, obj = {\n edgesList: jspb.Message.toObjectList(msg.getEdgesList(),\n proto.ramius.TopologyEdge.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TopologyPath}\n */\nproto.ramius.TopologyPath.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TopologyPath;\n return proto.ramius.TopologyPath.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TopologyPath} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TopologyPath}\n */\nproto.ramius.TopologyPath.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.TopologyEdge;\n reader.readMessage(value,proto.ramius.TopologyEdge.deserializeBinaryFromReader);\n msg.addEdges(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TopologyPath.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TopologyPath.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TopologyPath} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TopologyPath.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEdgesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.TopologyEdge.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated TopologyEdge edges = 1;\n * @return {!Array}\n */\nproto.ramius.TopologyPath.prototype.getEdgesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.TopologyEdge, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.TopologyPath} returns this\n*/\nproto.ramius.TopologyPath.prototype.setEdgesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.TopologyEdge=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.TopologyEdge}\n */\nproto.ramius.TopologyPath.prototype.addEdges = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.TopologyEdge, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.TopologyPath} returns this\n */\nproto.ramius.TopologyPath.prototype.clearEdgesList = function() {\n return this.setEdgesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GenericResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GenericResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GenericResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GenericResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n message: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GenericResponse}\n */\nproto.ramius.GenericResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GenericResponse;\n return proto.ramius.GenericResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GenericResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GenericResponse}\n */\nproto.ramius.GenericResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCode(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setMessage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GenericResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GenericResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GenericResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GenericResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCode();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getMessage();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.ramius.GenericResponse.prototype.getCode = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.GenericResponse} returns this\n */\nproto.ramius.GenericResponse.prototype.setCode = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string message = 2;\n * @return {string}\n */\nproto.ramius.GenericResponse.prototype.getMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GenericResponse} returns this\n */\nproto.ramius.GenericResponse.prototype.setMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.KafkaOffsetState.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.KafkaOffsetState.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.KafkaOffsetState} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KafkaOffsetState.toObject = function(includeInstance, msg) {\n var f, obj = {\n topic: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n partition: jspb.Message.getFieldWithDefault(msg, 2, 0),\n offset: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.KafkaOffsetState}\n */\nproto.ramius.KafkaOffsetState.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.KafkaOffsetState;\n return proto.ramius.KafkaOffsetState.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.KafkaOffsetState} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.KafkaOffsetState}\n */\nproto.ramius.KafkaOffsetState.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTopic(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPartition(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setOffset(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.KafkaOffsetState.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.KafkaOffsetState.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.KafkaOffsetState} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KafkaOffsetState.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTopic();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPartition();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getOffset();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string topic = 1;\n * @return {string}\n */\nproto.ramius.KafkaOffsetState.prototype.getTopic = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.KafkaOffsetState} returns this\n */\nproto.ramius.KafkaOffsetState.prototype.setTopic = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 partition = 2;\n * @return {number}\n */\nproto.ramius.KafkaOffsetState.prototype.getPartition = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.KafkaOffsetState} returns this\n */\nproto.ramius.KafkaOffsetState.prototype.setPartition = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 offset = 3;\n * @return {number}\n */\nproto.ramius.KafkaOffsetState.prototype.getOffset = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.KafkaOffsetState} returns this\n */\nproto.ramius.KafkaOffsetState.prototype.setOffset = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.KeyValueEvent.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.KeyValueEvent.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.KeyValueEvent} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KeyValueEvent.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n key: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n value: msg.getValue_asB64()\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.KeyValueEvent}\n */\nproto.ramius.KeyValueEvent.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.KeyValueEvent;\n return proto.ramius.KeyValueEvent.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.KeyValueEvent} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.KeyValueEvent}\n */\nproto.ramius.KeyValueEvent.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setKey(value);\n break;\n case 3:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setValue(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.KeyValueEvent.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.KeyValueEvent.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.KeyValueEvent} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KeyValueEvent.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getKey();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getValue_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.KeyValueEvent.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.KeyValueEvent} returns this\n */\nproto.ramius.KeyValueEvent.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string key = 2;\n * @return {string}\n */\nproto.ramius.KeyValueEvent.prototype.getKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.KeyValueEvent} returns this\n */\nproto.ramius.KeyValueEvent.prototype.setKey = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional bytes value = 3;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.KeyValueEvent.prototype.getValue = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * optional bytes value = 3;\n * This is a type-conversion wrapper around `getValue()`\n * @return {string}\n */\nproto.ramius.KeyValueEvent.prototype.getValue_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getValue()));\n};\n\n\n/**\n * optional bytes value = 3;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getValue()`\n * @return {!Uint8Array}\n */\nproto.ramius.KeyValueEvent.prototype.getValue_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getValue()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.KeyValueEvent} returns this\n */\nproto.ramius.KeyValueEvent.prototype.setValue = function(value) {\n return jspb.Message.setProto3BytesField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SearchFilter.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SearchFilter.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SearchFilter.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SearchFilter} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SearchFilter.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n exclude: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n valuesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SearchFilter}\n */\nproto.ramius.SearchFilter.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SearchFilter;\n return proto.ramius.SearchFilter.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SearchFilter} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SearchFilter}\n */\nproto.ramius.SearchFilter.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setExclude(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addValues(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SearchFilter.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SearchFilter.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SearchFilter} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SearchFilter.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getExclude();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getValuesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.SearchFilter.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SearchFilter} returns this\n */\nproto.ramius.SearchFilter.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional bool exclude = 2;\n * @return {boolean}\n */\nproto.ramius.SearchFilter.prototype.getExclude = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SearchFilter} returns this\n */\nproto.ramius.SearchFilter.prototype.setExclude = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * repeated string values = 3;\n * @return {!Array}\n */\nproto.ramius.SearchFilter.prototype.getValuesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SearchFilter} returns this\n */\nproto.ramius.SearchFilter.prototype.setValuesList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.SearchFilter} returns this\n */\nproto.ramius.SearchFilter.prototype.addValues = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SearchFilter} returns this\n */\nproto.ramius.SearchFilter.prototype.clearValuesList = function() {\n return this.setValuesList([]);\n};\n\n\ngoog.object.extend(exports, proto.ramius);\n","// source: config_schema.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar ccios_gen_pb = require('./ccios_gen_pb.js');\ngoog.object.extend(proto, ccios_gen_pb);\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar schema_gen_pb = require('./schema_gen_pb.js');\ngoog.object.extend(proto, schema_gen_pb);\nvar peering_info_pb = require('./peering_info_pb.js');\ngoog.object.extend(proto, peering_info_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.AggregateViolation', null, global);\ngoog.exportSymbol('proto.ramius.AggregateViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.AlarmCfg', null, global);\ngoog.exportSymbol('proto.ramius.AlarmCfg.Level', null, global);\ngoog.exportSymbol('proto.ramius.AlarmGroup', null, global);\ngoog.exportSymbol('proto.ramius.AlarmRuleEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.AlarmWithMetadataInternal', null, global);\ngoog.exportSymbol('proto.ramius.AsNewPrefixViolation', null, global);\ngoog.exportSymbol('proto.ramius.AsPathLengthViolation', null, global);\ngoog.exportSymbol('proto.ramius.AsPathLengthViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.AsnConfig', null, global);\ngoog.exportSymbol('proto.ramius.AsnRoutingReportCfg', null, global);\ngoog.exportSymbol('proto.ramius.AuuidDesc', null, global);\ngoog.exportSymbol('proto.ramius.BgpPeerConfig', null, global);\ngoog.exportSymbol('proto.ramius.BgpPeerLoad', null, global);\ngoog.exportSymbol('proto.ramius.BgpPeerMapping', null, global);\ngoog.exportSymbol('proto.ramius.Common', null, global);\ngoog.exportSymbol('proto.ramius.ConfigChangeEvent', null, global);\ngoog.exportSymbol('proto.ramius.ConfigCheckpoint', null, global);\ngoog.exportSymbol('proto.ramius.ConfigCheckpoint.ConfigTopo', null, global);\ngoog.exportSymbol('proto.ramius.ConfigEpoch', null, global);\ngoog.exportSymbol('proto.ramius.DeviceConnectivityChange', null, global);\ngoog.exportSymbol('proto.ramius.DeviceDossierCollectionFailure', null, global);\ngoog.exportSymbol('proto.ramius.DeviceEnrollmentCertExpiration', null, global);\ngoog.exportSymbol('proto.ramius.DeviceEnrollmentCertImminentExpiry', null, global);\ngoog.exportSymbol('proto.ramius.DeviceEnrollmentCertViolation', null, global);\ngoog.exportSymbol('proto.ramius.DeviceHardwareIntegrity', null, global);\ngoog.exportSymbol('proto.ramius.DeviceRunningConfigChange', null, global);\ngoog.exportSymbol('proto.ramius.DeviceSoftwareIntegrity', null, global);\ngoog.exportSymbol('proto.ramius.DeviceSshHostKeyViolation', null, global);\ngoog.exportSymbol('proto.ramius.EmailNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.GatewayConfig', null, global);\ngoog.exportSymbol('proto.ramius.GatewayConnectivityChange', null, global);\ngoog.exportSymbol('proto.ramius.GoogleStorageNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceConfig', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceJumboPrefixAlarm', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceThresholdRxAlarm', null, global);\ngoog.exportSymbol('proto.ramius.InterfaceThresholdTxAlarm', null, global);\ngoog.exportSymbol('proto.ramius.LeftAsnViolation', null, global);\ngoog.exportSymbol('proto.ramius.LeftAsnViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.MicrosoftTeamsNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.NetworkDeviceConfig', null, global);\ngoog.exportSymbol('proto.ramius.NewGlobalPeerEdgeViolation', null, global);\ngoog.exportSymbol('proto.ramius.NotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.NotificationEndpoint.EndpointTypeCase', null, global);\ngoog.exportSymbol('proto.ramius.OrgEpochDesc', null, global);\ngoog.exportSymbol('proto.ramius.OrgMap', null, global);\ngoog.exportSymbol('proto.ramius.OriginAsnViolation', null, global);\ngoog.exportSymbol('proto.ramius.OriginAsnViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.OutputSet', null, global);\ngoog.exportSymbol('proto.ramius.PagerDutyNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.PeerAdvertisedPrefixCountViolation', null, global);\ngoog.exportSymbol('proto.ramius.PeerDownViolation', null, global);\ngoog.exportSymbol('proto.ramius.PeerRootDnsWithdrawnViolation', null, global);\ngoog.exportSymbol('proto.ramius.PeerStatsReportCfg', null, global);\ngoog.exportSymbol('proto.ramius.PeerStatsReportType', null, global);\ngoog.exportSymbol('proto.ramius.PrefixAdvertisementViolation', null, global);\ngoog.exportSymbol('proto.ramius.PrefixAdvertisementViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.PrefixConfig', null, global);\ngoog.exportSymbol('proto.ramius.PrefixCountRange', null, global);\ngoog.exportSymbol('proto.ramius.ProhibitedIpPrefixViolation', null, global);\ngoog.exportSymbol('proto.ramius.ReportConfig', null, global);\ngoog.exportSymbol('proto.ramius.ReportConfigParams', null, global);\ngoog.exportSymbol('proto.ramius.ReportConfigParams.CfgParamsTypeCase', null, global);\ngoog.exportSymbol('proto.ramius.RoaExpiryViolation', null, global);\ngoog.exportSymbol('proto.ramius.RoaNotFoundViolation', null, global);\ngoog.exportSymbol('proto.ramius.RoaViolation', null, global);\ngoog.exportSymbol('proto.ramius.S3NotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.SlackNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.SmsNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.SubprefixViolation', null, global);\ngoog.exportSymbol('proto.ramius.TelemetryHighCpuUsage', null, global);\ngoog.exportSymbol('proto.ramius.TelemetryHighMemoryUsage', null, global);\ngoog.exportSymbol('proto.ramius.TestNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.TrustMismatchedFilesFound', null, global);\ngoog.exportSymbol('proto.ramius.TrustUnknownFilesFound', null, global);\ngoog.exportSymbol('proto.ramius.TxnMetadata', null, global);\ngoog.exportSymbol('proto.ramius.UsageType', null, global);\ngoog.exportSymbol('proto.ramius.ValidAsPathViolation', null, global);\ngoog.exportSymbol('proto.ramius.ValidAsPathViolationMypeers', null, global);\ngoog.exportSymbol('proto.ramius.WebExNotificationEndpoint', null, global);\ngoog.exportSymbol('proto.ramius.WithdrawnViolation', null, global);\ngoog.exportSymbol('proto.ramius.WithdrawnViolationMyPeers', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfigCheckpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfigCheckpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfigCheckpoint.displayName = 'proto.ramius.ConfigCheckpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ConfigCheckpoint.ConfigTopo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ConfigCheckpoint.ConfigTopo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfigCheckpoint.ConfigTopo.displayName = 'proto.ramius.ConfigCheckpoint.ConfigTopo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TxnMetadata = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TxnMetadata, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TxnMetadata.displayName = 'proto.ramius.TxnMetadata';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Common = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Common.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Common, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Common.displayName = 'proto.ramius.Common';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PrefixConfig.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PrefixConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixConfig.displayName = 'proto.ramius.PrefixConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsnConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AsnConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsnConfig.displayName = 'proto.ramius.AsnConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ReportConfigParams = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.ReportConfigParams.oneofGroups_);\n};\ngoog.inherits(proto.ramius.ReportConfigParams, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ReportConfigParams.displayName = 'proto.ramius.ReportConfigParams';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ReportConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ReportConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ReportConfig.displayName = 'proto.ramius.ReportConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsnRoutingReportCfg = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AsnRoutingReportCfg, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsnRoutingReportCfg.displayName = 'proto.ramius.AsnRoutingReportCfg';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerStatsReportCfg = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerStatsReportCfg, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerStatsReportCfg.displayName = 'proto.ramius.PeerStatsReportCfg';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmGroup = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmGroup.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmGroup, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmGroup.displayName = 'proto.ramius.AlarmGroup';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmWithMetadataInternal = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AlarmWithMetadataInternal, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmWithMetadataInternal.displayName = 'proto.ramius.AlarmWithMetadataInternal';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmRuleEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmRuleEndpoint.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmRuleEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmRuleEndpoint.displayName = 'proto.ramius.AlarmRuleEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AlarmCfg = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AlarmCfg.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AlarmCfg, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AlarmCfg.displayName = 'proto.ramius.AlarmCfg';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OriginAsnViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OriginAsnViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OriginAsnViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OriginAsnViolation.displayName = 'proto.ramius.OriginAsnViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OriginAsnViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OriginAsnViolationMypeers.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OriginAsnViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OriginAsnViolationMypeers.displayName = 'proto.ramius.OriginAsnViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubprefixViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SubprefixViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SubprefixViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubprefixViolation.displayName = 'proto.ramius.SubprefixViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.LeftAsnViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.LeftAsnViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.LeftAsnViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.LeftAsnViolation.displayName = 'proto.ramius.LeftAsnViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.LeftAsnViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.LeftAsnViolationMypeers.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.LeftAsnViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.LeftAsnViolationMypeers.displayName = 'proto.ramius.LeftAsnViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.WithdrawnViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.WithdrawnViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.WithdrawnViolation.displayName = 'proto.ramius.WithdrawnViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.WithdrawnViolationMyPeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.WithdrawnViolationMyPeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.WithdrawnViolationMyPeers.displayName = 'proto.ramius.WithdrawnViolationMyPeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsNewPrefixViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AsNewPrefixViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsNewPrefixViolation.displayName = 'proto.ramius.AsNewPrefixViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixAdvertisementViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PrefixAdvertisementViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixAdvertisementViolation.displayName = 'proto.ramius.PrefixAdvertisementViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixAdvertisementViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PrefixAdvertisementViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixAdvertisementViolationMypeers.displayName = 'proto.ramius.PrefixAdvertisementViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RoaViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RoaViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RoaViolation.displayName = 'proto.ramius.RoaViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RoaExpiryViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RoaExpiryViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RoaExpiryViolation.displayName = 'proto.ramius.RoaExpiryViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.NewGlobalPeerEdgeViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.NewGlobalPeerEdgeViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.NewGlobalPeerEdgeViolation.displayName = 'proto.ramius.NewGlobalPeerEdgeViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerDownViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerDownViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerDownViolation.displayName = 'proto.ramius.PeerDownViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RoaNotFoundViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RoaNotFoundViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RoaNotFoundViolation.displayName = 'proto.ramius.RoaNotFoundViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsPathLengthViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AsPathLengthViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsPathLengthViolation.displayName = 'proto.ramius.AsPathLengthViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AsPathLengthViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AsPathLengthViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AsPathLengthViolationMypeers.displayName = 'proto.ramius.AsPathLengthViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AggregateViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AggregateViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AggregateViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AggregateViolation.displayName = 'proto.ramius.AggregateViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AggregateViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.AggregateViolationMypeers.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.AggregateViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AggregateViolationMypeers.displayName = 'proto.ramius.AggregateViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PrefixCountRange = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PrefixCountRange, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PrefixCountRange.displayName = 'proto.ramius.PrefixCountRange';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerAdvertisedPrefixCountViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerAdvertisedPrefixCountViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerAdvertisedPrefixCountViolation.displayName = 'proto.ramius.PeerAdvertisedPrefixCountViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerRootDnsWithdrawnViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerRootDnsWithdrawnViolation.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerRootDnsWithdrawnViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerRootDnsWithdrawnViolation.displayName = 'proto.ramius.PeerRootDnsWithdrawnViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ValidAsPathViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ValidAsPathViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ValidAsPathViolation.displayName = 'proto.ramius.ValidAsPathViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ValidAsPathViolationMypeers = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ValidAsPathViolationMypeers, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ValidAsPathViolationMypeers.displayName = 'proto.ramius.ValidAsPathViolationMypeers';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ProhibitedIpPrefixViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ProhibitedIpPrefixViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ProhibitedIpPrefixViolation.displayName = 'proto.ramius.ProhibitedIpPrefixViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TelemetryHighCpuUsage = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TelemetryHighCpuUsage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TelemetryHighCpuUsage.displayName = 'proto.ramius.TelemetryHighCpuUsage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TelemetryHighMemoryUsage = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TelemetryHighMemoryUsage, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TelemetryHighMemoryUsage.displayName = 'proto.ramius.TelemetryHighMemoryUsage';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TrustUnknownFilesFound = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TrustUnknownFilesFound, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TrustUnknownFilesFound.displayName = 'proto.ramius.TrustUnknownFilesFound';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TrustMismatchedFilesFound = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TrustMismatchedFilesFound, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TrustMismatchedFilesFound.displayName = 'proto.ramius.TrustMismatchedFilesFound';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceHardwareIntegrity = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceHardwareIntegrity, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceHardwareIntegrity.displayName = 'proto.ramius.DeviceHardwareIntegrity';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceSoftwareIntegrity = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceSoftwareIntegrity, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceSoftwareIntegrity.displayName = 'proto.ramius.DeviceSoftwareIntegrity';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceConnectivityChange = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceConnectivityChange, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceConnectivityChange.displayName = 'proto.ramius.DeviceConnectivityChange';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GatewayConnectivityChange = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GatewayConnectivityChange, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GatewayConnectivityChange.displayName = 'proto.ramius.GatewayConnectivityChange';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InterfaceJumboPrefixAlarm = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.InterfaceJumboPrefixAlarm.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.InterfaceJumboPrefixAlarm, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InterfaceJumboPrefixAlarm.displayName = 'proto.ramius.InterfaceJumboPrefixAlarm';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InterfaceThresholdRxAlarm = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.InterfaceThresholdRxAlarm, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InterfaceThresholdRxAlarm.displayName = 'proto.ramius.InterfaceThresholdRxAlarm';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InterfaceThresholdTxAlarm = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.InterfaceThresholdTxAlarm, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InterfaceThresholdTxAlarm.displayName = 'proto.ramius.InterfaceThresholdTxAlarm';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceDossierCollectionFailure = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceDossierCollectionFailure, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceDossierCollectionFailure.displayName = 'proto.ramius.DeviceDossierCollectionFailure';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceEnrollmentCertExpiration = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceEnrollmentCertExpiration, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceEnrollmentCertExpiration.displayName = 'proto.ramius.DeviceEnrollmentCertExpiration';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceEnrollmentCertImminentExpiry, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceEnrollmentCertImminentExpiry.displayName = 'proto.ramius.DeviceEnrollmentCertImminentExpiry';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceEnrollmentCertViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceEnrollmentCertViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceEnrollmentCertViolation.displayName = 'proto.ramius.DeviceEnrollmentCertViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceSshHostKeyViolation = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceSshHostKeyViolation, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceSshHostKeyViolation.displayName = 'proto.ramius.DeviceSshHostKeyViolation';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.DeviceRunningConfigChange = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.DeviceRunningConfigChange, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.DeviceRunningConfigChange.displayName = 'proto.ramius.DeviceRunningConfigChange';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.NotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.NotificationEndpoint.oneofGroups_);\n};\ngoog.inherits(proto.ramius.NotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.NotificationEndpoint.displayName = 'proto.ramius.NotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.EmailNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.EmailNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.EmailNotificationEndpoint.displayName = 'proto.ramius.EmailNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SmsNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SmsNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SmsNotificationEndpoint.displayName = 'proto.ramius.SmsNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.S3NotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.S3NotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.S3NotificationEndpoint.displayName = 'proto.ramius.S3NotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GoogleStorageNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.GoogleStorageNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GoogleStorageNotificationEndpoint.displayName = 'proto.ramius.GoogleStorageNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SlackNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SlackNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SlackNotificationEndpoint.displayName = 'proto.ramius.SlackNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.WebExNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.WebExNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.WebExNotificationEndpoint.displayName = 'proto.ramius.WebExNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.MicrosoftTeamsNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.MicrosoftTeamsNotificationEndpoint.displayName = 'proto.ramius.MicrosoftTeamsNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PagerDutyNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PagerDutyNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PagerDutyNotificationEndpoint.displayName = 'proto.ramius.PagerDutyNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.TestNotificationEndpoint = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.TestNotificationEndpoint, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.TestNotificationEndpoint.displayName = 'proto.ramius.TestNotificationEndpoint';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfigEpoch = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ConfigEpoch, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfigEpoch.displayName = 'proto.ramius.ConfigEpoch';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgMap = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgMap, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgMap.displayName = 'proto.ramius.OrgMap';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OrgEpochDesc = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.OrgEpochDesc, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OrgEpochDesc.displayName = 'proto.ramius.OrgEpochDesc';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.AuuidDesc = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.AuuidDesc, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.AuuidDesc.displayName = 'proto.ramius.AuuidDesc';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.OutputSet = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.OutputSet.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.OutputSet, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.OutputSet.displayName = 'proto.ramius.OutputSet';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpPeerConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.BgpPeerConfig.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.BgpPeerConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpPeerConfig.displayName = 'proto.ramius.BgpPeerConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpPeerMapping = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.BgpPeerMapping, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpPeerMapping.displayName = 'proto.ramius.BgpPeerMapping';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpPeerLoad = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.BgpPeerLoad, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpPeerLoad.displayName = 'proto.ramius.BgpPeerLoad';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.NetworkDeviceConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.NetworkDeviceConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.NetworkDeviceConfig.displayName = 'proto.ramius.NetworkDeviceConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.InterfaceConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.InterfaceConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.InterfaceConfig.displayName = 'proto.ramius.InterfaceConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.GatewayConfig = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.GatewayConfig.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.GatewayConfig, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.GatewayConfig.displayName = 'proto.ramius.GatewayConfig';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ConfigChangeEvent = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ConfigChangeEvent.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ConfigChangeEvent, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ConfigChangeEvent.displayName = 'proto.ramius.ConfigChangeEvent';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfigCheckpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfigCheckpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfigCheckpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigCheckpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n cfgEpoch: jspb.Message.getFieldWithDefault(msg, 1, 0),\n prefix: (f = msg.getPrefix()) && proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(includeInstance, f),\n alarmGroup: (f = msg.getAlarmGroup()) && proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(includeInstance, f),\n auuid: (f = msg.getAuuid()) && proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(includeInstance, f),\n detector: (f = msg.getDetector()) && proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(includeInstance, f),\n endpoints: (f = msg.getEndpoints()) && proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfigCheckpoint}\n */\nproto.ramius.ConfigCheckpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfigCheckpoint;\n return proto.ramius.ConfigCheckpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfigCheckpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfigCheckpoint}\n */\nproto.ramius.ConfigCheckpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setCfgEpoch(value);\n break;\n case 2:\n var value = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n reader.readMessage(value,proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader);\n msg.setPrefix(value);\n break;\n case 3:\n var value = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n reader.readMessage(value,proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader);\n msg.setAlarmGroup(value);\n break;\n case 4:\n var value = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n reader.readMessage(value,proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader);\n msg.setAuuid(value);\n break;\n case 5:\n var value = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n reader.readMessage(value,proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader);\n msg.setDetector(value);\n break;\n case 6:\n var value = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n reader.readMessage(value,proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader);\n msg.setEndpoints(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfigCheckpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfigCheckpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfigCheckpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigCheckpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCfgEpoch();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getPrefix();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter\n );\n }\n f = message.getAlarmGroup();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter\n );\n }\n f = message.getAuuid();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter\n );\n }\n f = message.getDetector();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter\n );\n }\n f = message.getEndpoints();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter\n );\n }\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfigCheckpoint.ConfigTopo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfigCheckpoint.ConfigTopo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.toObject = function(includeInstance, msg) {\n var f, obj = {\n bitsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n count: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfigCheckpoint.ConfigTopo;\n return proto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfigCheckpoint.ConfigTopo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint64() : [reader.readUint64()]);\n for (var i = 0; i < values.length; i++) {\n msg.addBits(values[i]);\n }\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfigCheckpoint.ConfigTopo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBitsList();\n if (f.length > 0) {\n writer.writePackedUint64(\n 1,\n f\n );\n }\n f = message.getCount();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated uint64 bits = 1;\n * @return {!Array}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.getBitsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo} returns this\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.setBitsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo} returns this\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.addBits = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo} returns this\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.clearBitsList = function() {\n return this.setBitsList([]);\n};\n\n\n/**\n * optional int32 count = 2;\n * @return {number}\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.getCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ConfigCheckpoint.ConfigTopo} returns this\n */\nproto.ramius.ConfigCheckpoint.ConfigTopo.prototype.setCount = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int64 cfg_epoch = 1;\n * @return {number}\n */\nproto.ramius.ConfigCheckpoint.prototype.getCfgEpoch = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.setCfgEpoch = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional ConfigTopo prefix = 2;\n * @return {?proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.prototype.getPrefix = function() {\n return /** @type{?proto.ramius.ConfigCheckpoint.ConfigTopo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ConfigCheckpoint.ConfigTopo, 2));\n};\n\n\n/**\n * @param {?proto.ramius.ConfigCheckpoint.ConfigTopo|undefined} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n*/\nproto.ramius.ConfigCheckpoint.prototype.setPrefix = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.clearPrefix = function() {\n return this.setPrefix(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigCheckpoint.prototype.hasPrefix = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional ConfigTopo alarm_group = 3;\n * @return {?proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.prototype.getAlarmGroup = function() {\n return /** @type{?proto.ramius.ConfigCheckpoint.ConfigTopo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ConfigCheckpoint.ConfigTopo, 3));\n};\n\n\n/**\n * @param {?proto.ramius.ConfigCheckpoint.ConfigTopo|undefined} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n*/\nproto.ramius.ConfigCheckpoint.prototype.setAlarmGroup = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.clearAlarmGroup = function() {\n return this.setAlarmGroup(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigCheckpoint.prototype.hasAlarmGroup = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional ConfigTopo auuid = 4;\n * @return {?proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.prototype.getAuuid = function() {\n return /** @type{?proto.ramius.ConfigCheckpoint.ConfigTopo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ConfigCheckpoint.ConfigTopo, 4));\n};\n\n\n/**\n * @param {?proto.ramius.ConfigCheckpoint.ConfigTopo|undefined} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n*/\nproto.ramius.ConfigCheckpoint.prototype.setAuuid = function(value) {\n return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.clearAuuid = function() {\n return this.setAuuid(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigCheckpoint.prototype.hasAuuid = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional ConfigTopo detector = 5;\n * @return {?proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.prototype.getDetector = function() {\n return /** @type{?proto.ramius.ConfigCheckpoint.ConfigTopo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ConfigCheckpoint.ConfigTopo, 5));\n};\n\n\n/**\n * @param {?proto.ramius.ConfigCheckpoint.ConfigTopo|undefined} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n*/\nproto.ramius.ConfigCheckpoint.prototype.setDetector = function(value) {\n return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.clearDetector = function() {\n return this.setDetector(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigCheckpoint.prototype.hasDetector = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional ConfigTopo endpoints = 6;\n * @return {?proto.ramius.ConfigCheckpoint.ConfigTopo}\n */\nproto.ramius.ConfigCheckpoint.prototype.getEndpoints = function() {\n return /** @type{?proto.ramius.ConfigCheckpoint.ConfigTopo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ConfigCheckpoint.ConfigTopo, 6));\n};\n\n\n/**\n * @param {?proto.ramius.ConfigCheckpoint.ConfigTopo|undefined} value\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n*/\nproto.ramius.ConfigCheckpoint.prototype.setEndpoints = function(value) {\n return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigCheckpoint} returns this\n */\nproto.ramius.ConfigCheckpoint.prototype.clearEndpoints = function() {\n return this.setEndpoints(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigCheckpoint.prototype.hasEndpoints = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TxnMetadata.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TxnMetadata.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TxnMetadata} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TxnMetadata.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgUuid: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n seqNo: jspb.Message.getFieldWithDefault(msg, 2, 0),\n modifiedAt: (f = msg.getModifiedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n modifiedUser: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n comment: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TxnMetadata}\n */\nproto.ramius.TxnMetadata.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TxnMetadata;\n return proto.ramius.TxnMetadata.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TxnMetadata} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TxnMetadata}\n */\nproto.ramius.TxnMetadata.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgUuid(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSeqNo(value);\n break;\n case 3:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setModifiedAt(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setModifiedUser(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setComment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TxnMetadata.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TxnMetadata.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TxnMetadata} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TxnMetadata.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgUuid();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getSeqNo();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getModifiedAt();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getModifiedUser();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getComment();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional string org_uuid = 1;\n * @return {string}\n */\nproto.ramius.TxnMetadata.prototype.getOrgUuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TxnMetadata} returns this\n */\nproto.ramius.TxnMetadata.prototype.setOrgUuid = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 seq_no = 2;\n * @return {number}\n */\nproto.ramius.TxnMetadata.prototype.getSeqNo = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TxnMetadata} returns this\n */\nproto.ramius.TxnMetadata.prototype.setSeqNo = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp modified_at = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.TxnMetadata.prototype.getModifiedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.TxnMetadata} returns this\n*/\nproto.ramius.TxnMetadata.prototype.setModifiedAt = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.TxnMetadata} returns this\n */\nproto.ramius.TxnMetadata.prototype.clearModifiedAt = function() {\n return this.setModifiedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.TxnMetadata.prototype.hasModifiedAt = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional string modified_user = 4;\n * @return {string}\n */\nproto.ramius.TxnMetadata.prototype.getModifiedUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TxnMetadata} returns this\n */\nproto.ramius.TxnMetadata.prototype.setModifiedUser = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string comment = 5;\n * @return {string}\n */\nproto.ramius.TxnMetadata.prototype.getComment = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TxnMetadata} returns this\n */\nproto.ramius.TxnMetadata.prototype.setComment = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Common.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Common.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Common.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Common} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Common.toObject = function(includeInstance, msg) {\n var f, obj = {\n metadata: (f = msg.getMetadata()) && proto.ramius.TxnMetadata.toObject(includeInstance, f),\n createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n createdUser: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n tagsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Common}\n */\nproto.ramius.Common.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Common;\n return proto.ramius.Common.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Common} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Common}\n */\nproto.ramius.Common.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.TxnMetadata;\n reader.readMessage(value,proto.ramius.TxnMetadata.deserializeBinaryFromReader);\n msg.setMetadata(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setCreatedAt(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setCreatedUser(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Common.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Common.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Common} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Common.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMetadata();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.TxnMetadata.serializeBinaryToWriter\n );\n }\n f = message.getCreatedAt();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getCreatedUser();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional TxnMetadata metadata = 1;\n * @return {?proto.ramius.TxnMetadata}\n */\nproto.ramius.Common.prototype.getMetadata = function() {\n return /** @type{?proto.ramius.TxnMetadata} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TxnMetadata, 1));\n};\n\n\n/**\n * @param {?proto.ramius.TxnMetadata|undefined} value\n * @return {!proto.ramius.Common} returns this\n*/\nproto.ramius.Common.prototype.setMetadata = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.clearMetadata = function() {\n return this.setMetadata(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Common.prototype.hasMetadata = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp created_at = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Common.prototype.getCreatedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Common} returns this\n*/\nproto.ramius.Common.prototype.setCreatedAt = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.clearCreatedAt = function() {\n return this.setCreatedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Common.prototype.hasCreatedAt = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string created_user = 3;\n * @return {string}\n */\nproto.ramius.Common.prototype.getCreatedUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.setCreatedUser = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated string tags = 4;\n * @return {!Array}\n */\nproto.ramius.Common.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Common} returns this\n */\nproto.ramius.Common.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PrefixConfig.repeatedFields_ = [7];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n prefix: (f = msg.getPrefix()) && common_pb.Prefix.toObject(includeInstance, f),\n policyId: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n suspendedUntil: (f = msg.getSuspendedUntil()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n suspendedRulesList: (f = jspb.Message.getRepeatedField(msg, 7)) == null ? undefined : f,\n generationId: jspb.Message.getFieldWithDefault(msg, 8, 0),\n skipTierRules: jspb.Message.getBooleanFieldWithDefault(msg, 9, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixConfig}\n */\nproto.ramius.PrefixConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixConfig;\n return proto.ramius.PrefixConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixConfig}\n */\nproto.ramius.PrefixConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = new common_pb.Prefix;\n reader.readMessage(value,common_pb.Prefix.deserializeBinaryFromReader);\n msg.setPrefix(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 6:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setSuspendedUntil(value);\n break;\n case 7:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addSuspendedRules(values[i]);\n }\n break;\n case 8:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setGenerationId(value);\n break;\n case 9:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setSkipTierRules(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getPrefix();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n common_pb.Prefix.serializeBinaryToWriter\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getSuspendedUntil();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getSuspendedRulesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 7,\n f\n );\n }\n f = message.getGenerationId();\n if (f !== 0) {\n writer.writeUint32(\n 8,\n f\n );\n }\n f = message.getSkipTierRules();\n if (f) {\n writer.writeBool(\n 9,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.PrefixConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.PrefixConfig} returns this\n*/\nproto.ramius.PrefixConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PrefixConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Prefix prefix = 2;\n * @return {?proto.ramius.Prefix}\n */\nproto.ramius.PrefixConfig.prototype.getPrefix = function() {\n return /** @type{?proto.ramius.Prefix} */ (\n jspb.Message.getWrapperField(this, common_pb.Prefix, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Prefix|undefined} value\n * @return {!proto.ramius.PrefixConfig} returns this\n*/\nproto.ramius.PrefixConfig.prototype.setPrefix = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.clearPrefix = function() {\n return this.setPrefix(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PrefixConfig.prototype.hasPrefix = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional string policy_id = 5;\n * @return {string}\n */\nproto.ramius.PrefixConfig.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp suspended_until = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.PrefixConfig.prototype.getSuspendedUntil = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.PrefixConfig} returns this\n*/\nproto.ramius.PrefixConfig.prototype.setSuspendedUntil = function(value) {\n return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.clearSuspendedUntil = function() {\n return this.setSuspendedUntil(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PrefixConfig.prototype.hasSuspendedUntil = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * repeated AlarmType suspended_rules = 7;\n * @return {!Array}\n */\nproto.ramius.PrefixConfig.prototype.getSuspendedRulesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.setSuspendedRulesList = function(value) {\n return jspb.Message.setField(this, 7, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.addSuspendedRules = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 7, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.clearSuspendedRulesList = function() {\n return this.setSuspendedRulesList([]);\n};\n\n\n/**\n * optional uint32 generation_id = 8;\n * @return {number}\n */\nproto.ramius.PrefixConfig.prototype.getGenerationId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.setGenerationId = function(value) {\n return jspb.Message.setProto3IntField(this, 8, value);\n};\n\n\n/**\n * optional bool skip_tier_rules = 9;\n * @return {boolean}\n */\nproto.ramius.PrefixConfig.prototype.getSkipTierRules = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 9, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.PrefixConfig} returns this\n */\nproto.ramius.PrefixConfig.prototype.setSkipTierRules = function(value) {\n return jspb.Message.setProto3BooleanField(this, 9, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsnConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsnConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsnConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n asn: jspb.Message.getFieldWithDefault(msg, 2, 0),\n policyId: jspb.Message.getFieldWithDefault(msg, 5, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsnConfig}\n */\nproto.ramius.AsnConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsnConfig;\n return proto.ramius.AsnConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsnConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsnConfig}\n */\nproto.ramius.AsnConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsnConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsnConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsnConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.AsnConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.AsnConfig} returns this\n*/\nproto.ramius.AsnConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AsnConfig} returns this\n */\nproto.ramius.AsnConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AsnConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional uint32 asn = 2;\n * @return {number}\n */\nproto.ramius.AsnConfig.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsnConfig} returns this\n */\nproto.ramius.AsnConfig.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string policy_id = 5;\n * @return {string}\n */\nproto.ramius.AsnConfig.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AsnConfig} returns this\n */\nproto.ramius.AsnConfig.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.ReportConfigParams.oneofGroups_ = [[1,2]];\n\n/**\n * @enum {number}\n */\nproto.ramius.ReportConfigParams.CfgParamsTypeCase = {\n CFG_PARAMS_TYPE_NOT_SET: 0,\n ASN_ROUTING_REP_CFG_PARAMS: 1,\n PEER_STATS_REP_CFG_PRARAMS: 2\n};\n\n/**\n * @return {proto.ramius.ReportConfigParams.CfgParamsTypeCase}\n */\nproto.ramius.ReportConfigParams.prototype.getCfgParamsTypeCase = function() {\n return /** @type {proto.ramius.ReportConfigParams.CfgParamsTypeCase} */(jspb.Message.computeOneofCase(this, proto.ramius.ReportConfigParams.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ReportConfigParams.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ReportConfigParams.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ReportConfigParams} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ReportConfigParams.toObject = function(includeInstance, msg) {\n var f, obj = {\n asnRoutingRepCfgParams: (f = msg.getAsnRoutingRepCfgParams()) && proto.ramius.AsnRoutingReportCfg.toObject(includeInstance, f),\n peerStatsRepCfgPrarams: (f = msg.getPeerStatsRepCfgPrarams()) && proto.ramius.PeerStatsReportCfg.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ReportConfigParams}\n */\nproto.ramius.ReportConfigParams.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ReportConfigParams;\n return proto.ramius.ReportConfigParams.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ReportConfigParams} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ReportConfigParams}\n */\nproto.ramius.ReportConfigParams.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AsnRoutingReportCfg;\n reader.readMessage(value,proto.ramius.AsnRoutingReportCfg.deserializeBinaryFromReader);\n msg.setAsnRoutingRepCfgParams(value);\n break;\n case 2:\n var value = new proto.ramius.PeerStatsReportCfg;\n reader.readMessage(value,proto.ramius.PeerStatsReportCfg.deserializeBinaryFromReader);\n msg.setPeerStatsRepCfgPrarams(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ReportConfigParams.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ReportConfigParams.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ReportConfigParams} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ReportConfigParams.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsnRoutingRepCfgParams();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.AsnRoutingReportCfg.serializeBinaryToWriter\n );\n }\n f = message.getPeerStatsRepCfgPrarams();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.PeerStatsReportCfg.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional AsnRoutingReportCfg asn_routing_rep_cfg_params = 1;\n * @return {?proto.ramius.AsnRoutingReportCfg}\n */\nproto.ramius.ReportConfigParams.prototype.getAsnRoutingRepCfgParams = function() {\n return /** @type{?proto.ramius.AsnRoutingReportCfg} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AsnRoutingReportCfg, 1));\n};\n\n\n/**\n * @param {?proto.ramius.AsnRoutingReportCfg|undefined} value\n * @return {!proto.ramius.ReportConfigParams} returns this\n*/\nproto.ramius.ReportConfigParams.prototype.setAsnRoutingRepCfgParams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 1, proto.ramius.ReportConfigParams.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ReportConfigParams} returns this\n */\nproto.ramius.ReportConfigParams.prototype.clearAsnRoutingRepCfgParams = function() {\n return this.setAsnRoutingRepCfgParams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ReportConfigParams.prototype.hasAsnRoutingRepCfgParams = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional PeerStatsReportCfg peer_stats_rep_cfg_prarams = 2;\n * @return {?proto.ramius.PeerStatsReportCfg}\n */\nproto.ramius.ReportConfigParams.prototype.getPeerStatsRepCfgPrarams = function() {\n return /** @type{?proto.ramius.PeerStatsReportCfg} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerStatsReportCfg, 2));\n};\n\n\n/**\n * @param {?proto.ramius.PeerStatsReportCfg|undefined} value\n * @return {!proto.ramius.ReportConfigParams} returns this\n*/\nproto.ramius.ReportConfigParams.prototype.setPeerStatsRepCfgPrarams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.ReportConfigParams.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ReportConfigParams} returns this\n */\nproto.ramius.ReportConfigParams.prototype.clearPeerStatsRepCfgPrarams = function() {\n return this.setPeerStatsRepCfgPrarams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ReportConfigParams.prototype.hasPeerStatsRepCfgPrarams = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ReportConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ReportConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ReportConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ReportConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n ruuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ReportConfig}\n */\nproto.ramius.ReportConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ReportConfig;\n return proto.ramius.ReportConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ReportConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ReportConfig}\n */\nproto.ramius.ReportConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setRuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.ReportType} */ (reader.readEnum());\n msg.setType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ReportConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ReportConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ReportConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ReportConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getRuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.ReportConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.ReportConfig} returns this\n*/\nproto.ramius.ReportConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ReportConfig} returns this\n */\nproto.ramius.ReportConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ReportConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string ruuid = 2;\n * @return {string}\n */\nproto.ramius.ReportConfig.prototype.getRuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ReportConfig} returns this\n */\nproto.ramius.ReportConfig.prototype.setRuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.ReportConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ReportConfig} returns this\n */\nproto.ramius.ReportConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional ReportType type = 4;\n * @return {!proto.ramius.ReportType}\n */\nproto.ramius.ReportConfig.prototype.getType = function() {\n return /** @type {!proto.ramius.ReportType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ReportType} value\n * @return {!proto.ramius.ReportConfig} returns this\n */\nproto.ramius.ReportConfig.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsnRoutingReportCfg.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsnRoutingReportCfg.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsnRoutingReportCfg} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnRoutingReportCfg.toObject = function(includeInstance, msg) {\n var f, obj = {\n asn: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsnRoutingReportCfg}\n */\nproto.ramius.AsnRoutingReportCfg.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsnRoutingReportCfg;\n return proto.ramius.AsnRoutingReportCfg.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsnRoutingReportCfg} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsnRoutingReportCfg}\n */\nproto.ramius.AsnRoutingReportCfg.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsnRoutingReportCfg.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsnRoutingReportCfg.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsnRoutingReportCfg} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsnRoutingReportCfg.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 asn = 1;\n * @return {number}\n */\nproto.ramius.AsnRoutingReportCfg.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsnRoutingReportCfg} returns this\n */\nproto.ramius.AsnRoutingReportCfg.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerStatsReportCfg.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerStatsReportCfg.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerStatsReportCfg} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerStatsReportCfg.toObject = function(includeInstance, msg) {\n var f, obj = {\n psType: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerStatsReportCfg}\n */\nproto.ramius.PeerStatsReportCfg.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerStatsReportCfg;\n return proto.ramius.PeerStatsReportCfg.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerStatsReportCfg} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerStatsReportCfg}\n */\nproto.ramius.PeerStatsReportCfg.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.PeerStatsReportType} */ (reader.readEnum());\n msg.setPsType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerStatsReportCfg.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerStatsReportCfg.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerStatsReportCfg} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerStatsReportCfg.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPsType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional PeerStatsReportType ps_type = 1;\n * @return {!proto.ramius.PeerStatsReportType}\n */\nproto.ramius.PeerStatsReportCfg.prototype.getPsType = function() {\n return /** @type {!proto.ramius.PeerStatsReportType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.PeerStatsReportType} value\n * @return {!proto.ramius.PeerStatsReportCfg} returns this\n */\nproto.ramius.PeerStatsReportCfg.prototype.setPsType = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmGroup.repeatedFields_ = [20,41,42];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmGroup.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmGroup.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmGroup} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmGroup.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n guuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n alarmsMap: (f = msg.getAlarmsMap()) ? f.toObject(includeInstance, proto.ramius.AlarmCfg.toObject) : [],\n policyType: jspb.Message.getFieldWithDefault(msg, 6, 0),\n endpointsList: jspb.Message.toObjectList(msg.getEndpointsList(),\n proto.ramius.AlarmRuleEndpoint.toObject, includeInstance),\n dampingSecs: jspb.Message.getFieldWithDefault(msg, 21, 0),\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 41)) == null ? undefined : f,\n upstreamAsnsList: (f = jspb.Message.getRepeatedField(msg, 42)) == null ? undefined : f,\n asPathPattern: jspb.Message.getFieldWithDefault(msg, 43, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmGroup}\n */\nproto.ramius.AlarmGroup.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmGroup;\n return proto.ramius.AlarmGroup.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmGroup} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmGroup}\n */\nproto.ramius.AlarmGroup.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setGuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 5:\n var value = msg.getAlarmsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readInt32, jspb.BinaryReader.prototype.readMessage, proto.ramius.AlarmCfg.deserializeBinaryFromReader, 0, new proto.ramius.AlarmCfg());\n });\n break;\n case 6:\n var value = /** @type {!proto.ramius.AlarmPolicyType} */ (reader.readEnum());\n msg.setPolicyType(value);\n break;\n case 20:\n var value = new proto.ramius.AlarmRuleEndpoint;\n reader.readMessage(value,proto.ramius.AlarmRuleEndpoint.deserializeBinaryFromReader);\n msg.addEndpoints(value);\n break;\n case 21:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDampingSecs(value);\n break;\n case 41:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 42:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addUpstreamAsns(values[i]);\n }\n break;\n case 43:\n var value = /** @type {string} */ (reader.readString());\n msg.setAsPathPattern(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmGroup.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmGroup.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmGroup} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmGroup.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getGuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getAlarmsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(5, writer, jspb.BinaryWriter.prototype.writeInt32, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.AlarmCfg.serializeBinaryToWriter);\n }\n f = message.getPolicyType();\n if (f !== 0.0) {\n writer.writeEnum(\n 6,\n f\n );\n }\n f = message.getEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 20,\n f,\n proto.ramius.AlarmRuleEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getDampingSecs();\n if (f !== 0) {\n writer.writeInt32(\n 21,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 41,\n f\n );\n }\n f = message.getUpstreamAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 42,\n f\n );\n }\n f = message.getAsPathPattern();\n if (f.length > 0) {\n writer.writeString(\n 43,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.AlarmGroup.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.AlarmGroup} returns this\n*/\nproto.ramius.AlarmGroup.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmGroup.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string guuid = 2;\n * @return {string}\n */\nproto.ramius.AlarmGroup.prototype.getGuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setGuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.AlarmGroup.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * map alarms = 5;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.AlarmGroup.prototype.getAlarmsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 5, opt_noLazyCreate,\n proto.ramius.AlarmCfg));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.clearAlarmsMap = function() {\n this.getAlarmsMap().clear();\n return this;};\n\n\n/**\n * optional AlarmPolicyType policy_type = 6;\n * @return {!proto.ramius.AlarmPolicyType}\n */\nproto.ramius.AlarmGroup.prototype.getPolicyType = function() {\n return /** @type {!proto.ramius.AlarmPolicyType} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setPolicyType = function(value) {\n return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * repeated AlarmRuleEndpoint endpoints = 20;\n * @return {!Array}\n */\nproto.ramius.AlarmGroup.prototype.getEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AlarmRuleEndpoint, 20));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmGroup} returns this\n*/\nproto.ramius.AlarmGroup.prototype.setEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 20, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleEndpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmRuleEndpoint}\n */\nproto.ramius.AlarmGroup.prototype.addEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 20, opt_value, proto.ramius.AlarmRuleEndpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.clearEndpointsList = function() {\n return this.setEndpointsList([]);\n};\n\n\n/**\n * optional int32 damping_secs = 21;\n * @return {number}\n */\nproto.ramius.AlarmGroup.prototype.getDampingSecs = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setDampingSecs = function(value) {\n return jspb.Message.setProto3IntField(this, 21, value);\n};\n\n\n/**\n * repeated uint32 origin_asns = 41;\n * @return {!Array}\n */\nproto.ramius.AlarmGroup.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 41));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 41, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 41, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * repeated uint32 upstream_asns = 42;\n * @return {!Array}\n */\nproto.ramius.AlarmGroup.prototype.getUpstreamAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 42));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setUpstreamAsnsList = function(value) {\n return jspb.Message.setField(this, 42, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.addUpstreamAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 42, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.clearUpstreamAsnsList = function() {\n return this.setUpstreamAsnsList([]);\n};\n\n\n/**\n * optional string as_path_pattern = 43;\n * @return {string}\n */\nproto.ramius.AlarmGroup.prototype.getAsPathPattern = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 43, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AlarmGroup} returns this\n */\nproto.ramius.AlarmGroup.prototype.setAsPathPattern = function(value) {\n return jspb.Message.setProto3StringField(this, 43, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmWithMetadataInternal.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmWithMetadataInternal} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmWithMetadataInternal.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmConfig: (f = msg.getAlarmConfig()) && proto.ramius.AlarmCfg.toObject(includeInstance, f),\n expectedAsPath: (f = msg.getExpectedAsPath()) && common_pb.AsPathList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmWithMetadataInternal}\n */\nproto.ramius.AlarmWithMetadataInternal.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmWithMetadataInternal;\n return proto.ramius.AlarmWithMetadataInternal.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmWithMetadataInternal} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmWithMetadataInternal}\n */\nproto.ramius.AlarmWithMetadataInternal.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.AlarmCfg;\n reader.readMessage(value,proto.ramius.AlarmCfg.deserializeBinaryFromReader);\n msg.setAlarmConfig(value);\n break;\n case 2:\n var value = new common_pb.AsPathList;\n reader.readMessage(value,common_pb.AsPathList.deserializeBinaryFromReader);\n msg.setExpectedAsPath(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmWithMetadataInternal.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmWithMetadataInternal} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmWithMetadataInternal.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmConfig();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.AlarmCfg.serializeBinaryToWriter\n );\n }\n f = message.getExpectedAsPath();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n common_pb.AsPathList.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional AlarmCfg alarm_config = 1;\n * @return {?proto.ramius.AlarmCfg}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.getAlarmConfig = function() {\n return /** @type{?proto.ramius.AlarmCfg} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AlarmCfg, 1));\n};\n\n\n/**\n * @param {?proto.ramius.AlarmCfg|undefined} value\n * @return {!proto.ramius.AlarmWithMetadataInternal} returns this\n*/\nproto.ramius.AlarmWithMetadataInternal.prototype.setAlarmConfig = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmWithMetadataInternal} returns this\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.clearAlarmConfig = function() {\n return this.setAlarmConfig(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.hasAlarmConfig = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional AsPathList expected_as_path = 2;\n * @return {?proto.ramius.AsPathList}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.getExpectedAsPath = function() {\n return /** @type{?proto.ramius.AsPathList} */ (\n jspb.Message.getWrapperField(this, common_pb.AsPathList, 2));\n};\n\n\n/**\n * @param {?proto.ramius.AsPathList|undefined} value\n * @return {!proto.ramius.AlarmWithMetadataInternal} returns this\n*/\nproto.ramius.AlarmWithMetadataInternal.prototype.setExpectedAsPath = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmWithMetadataInternal} returns this\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.clearExpectedAsPath = function() {\n return this.setExpectedAsPath(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmWithMetadataInternal.prototype.hasExpectedAsPath = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmRuleEndpoint.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmRuleEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmRuleEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmRuleEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmRuleEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n minThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxThreshold: jspb.Message.getFieldWithDefault(msg, 2, 0),\n endpointIdsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmRuleEndpoint}\n */\nproto.ramius.AlarmRuleEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmRuleEndpoint;\n return proto.ramius.AlarmRuleEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmRuleEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmRuleEndpoint}\n */\nproto.ramius.AlarmRuleEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinThreshold(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxThreshold(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.addEndpointIds(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmRuleEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmRuleEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmRuleEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmRuleEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getEndpointIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 min_threshold = 1;\n * @return {number}\n */\nproto.ramius.AlarmRuleEndpoint.prototype.getMinThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmRuleEndpoint} returns this\n */\nproto.ramius.AlarmRuleEndpoint.prototype.setMinThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_threshold = 2;\n * @return {number}\n */\nproto.ramius.AlarmRuleEndpoint.prototype.getMaxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmRuleEndpoint} returns this\n */\nproto.ramius.AlarmRuleEndpoint.prototype.setMaxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * repeated string endpoint_ids = 3;\n * @return {!Array}\n */\nproto.ramius.AlarmRuleEndpoint.prototype.getEndpointIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmRuleEndpoint} returns this\n */\nproto.ramius.AlarmRuleEndpoint.prototype.setEndpointIdsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmRuleEndpoint} returns this\n */\nproto.ramius.AlarmRuleEndpoint.prototype.addEndpointIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmRuleEndpoint} returns this\n */\nproto.ramius.AlarmRuleEndpoint.prototype.clearEndpointIdsList = function() {\n return this.setEndpointIdsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AlarmCfg.repeatedFields_ = [40];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AlarmCfg.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AlarmCfg.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AlarmCfg} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmCfg.toObject = function(includeInstance, msg) {\n var f, obj = {\n alarmType: jspb.Message.getFieldWithDefault(msg, 1, 0),\n disabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),\n level: jspb.Message.getFieldWithDefault(msg, 3, 0),\n minPeerCount: jspb.Message.getFieldWithDefault(msg, 4, 0),\n maxPeerCount: jspb.Message.getFieldWithDefault(msg, 5, 0),\n originAsnViolation: (f = msg.getOriginAsnViolation()) && proto.ramius.OriginAsnViolation.toObject(includeInstance, f),\n subprefixViolation: (f = msg.getSubprefixViolation()) && proto.ramius.SubprefixViolation.toObject(includeInstance, f),\n leftAsnViolation: (f = msg.getLeftAsnViolation()) && proto.ramius.LeftAsnViolation.toObject(includeInstance, f),\n asNewPrefixViolation: (f = msg.getAsNewPrefixViolation()) && proto.ramius.AsNewPrefixViolation.toObject(includeInstance, f),\n withdrawnViolation: (f = msg.getWithdrawnViolation()) && proto.ramius.WithdrawnViolation.toObject(includeInstance, f),\n roaViolation: (f = msg.getRoaViolation()) && proto.ramius.RoaViolation.toObject(includeInstance, f),\n asPathLengthViolation: (f = msg.getAsPathLengthViolation()) && proto.ramius.AsPathLengthViolation.toObject(includeInstance, f),\n aggregateViolation: (f = msg.getAggregateViolation()) && proto.ramius.AggregateViolation.toObject(includeInstance, f),\n prefixAdvertisementViolation: (f = msg.getPrefixAdvertisementViolation()) && proto.ramius.PrefixAdvertisementViolation.toObject(includeInstance, f),\n newGlobalPeerEdgeViolation: (f = msg.getNewGlobalPeerEdgeViolation()) && proto.ramius.NewGlobalPeerEdgeViolation.toObject(includeInstance, f),\n peerDownViolation: (f = msg.getPeerDownViolation()) && proto.ramius.PeerDownViolation.toObject(includeInstance, f),\n peerAdvertisedPrefixCountViolation: (f = msg.getPeerAdvertisedPrefixCountViolation()) && proto.ramius.PeerAdvertisedPrefixCountViolation.toObject(includeInstance, f),\n validAsPathViolation: (f = msg.getValidAsPathViolation()) && proto.ramius.ValidAsPathViolation.toObject(includeInstance, f),\n roaExpiryViolation: (f = msg.getRoaExpiryViolation()) && proto.ramius.RoaExpiryViolation.toObject(includeInstance, f),\n roaNotFoundViolation: (f = msg.getRoaNotFoundViolation()) && proto.ramius.RoaNotFoundViolation.toObject(includeInstance, f),\n prohibitedIpPrefixViolation: (f = msg.getProhibitedIpPrefixViolation()) && proto.ramius.ProhibitedIpPrefixViolation.toObject(includeInstance, f),\n peerRootDnsWithdrawnViolation: (f = msg.getPeerRootDnsWithdrawnViolation()) && proto.ramius.PeerRootDnsWithdrawnViolation.toObject(includeInstance, f),\n telemetryHighCpuUsage: (f = msg.getTelemetryHighCpuUsage()) && proto.ramius.TelemetryHighCpuUsage.toObject(includeInstance, f),\n telemetryHighMemoryUsage: (f = msg.getTelemetryHighMemoryUsage()) && proto.ramius.TelemetryHighMemoryUsage.toObject(includeInstance, f),\n trustUnknownFilesFound: (f = msg.getTrustUnknownFilesFound()) && proto.ramius.TrustUnknownFilesFound.toObject(includeInstance, f),\n deviceConnectivityChange: (f = msg.getDeviceConnectivityChange()) && proto.ramius.DeviceConnectivityChange.toObject(includeInstance, f),\n gatewayConnectivityChange: (f = msg.getGatewayConnectivityChange()) && proto.ramius.GatewayConnectivityChange.toObject(includeInstance, f),\n interfaceJumboPrefixAlarm: (f = msg.getInterfaceJumboPrefixAlarm()) && proto.ramius.InterfaceJumboPrefixAlarm.toObject(includeInstance, f),\n interfaceThresholdRxAlarm: (f = msg.getInterfaceThresholdRxAlarm()) && proto.ramius.InterfaceThresholdRxAlarm.toObject(includeInstance, f),\n interfaceThresholdTxAlarm: (f = msg.getInterfaceThresholdTxAlarm()) && proto.ramius.InterfaceThresholdTxAlarm.toObject(includeInstance, f),\n deviceDossierCollectionFailure: (f = msg.getDeviceDossierCollectionFailure()) && proto.ramius.DeviceDossierCollectionFailure.toObject(includeInstance, f),\n deviceEnrollmentCertExpiration: (f = msg.getDeviceEnrollmentCertExpiration()) && proto.ramius.DeviceEnrollmentCertExpiration.toObject(includeInstance, f),\n deviceEnrollmentCertViolation: (f = msg.getDeviceEnrollmentCertViolation()) && proto.ramius.DeviceEnrollmentCertViolation.toObject(includeInstance, f),\n deviceSshHostKeyViolation: (f = msg.getDeviceSshHostKeyViolation()) && proto.ramius.DeviceSshHostKeyViolation.toObject(includeInstance, f),\n trustMismatchedFilesFound: (f = msg.getTrustMismatchedFilesFound()) && proto.ramius.TrustMismatchedFilesFound.toObject(includeInstance, f),\n deviceHardwareIntegrity: (f = msg.getDeviceHardwareIntegrity()) && proto.ramius.DeviceHardwareIntegrity.toObject(includeInstance, f),\n deviceSoftwareIntegrity: (f = msg.getDeviceSoftwareIntegrity()) && proto.ramius.DeviceSoftwareIntegrity.toObject(includeInstance, f),\n originAsnViolationMypeers: (f = msg.getOriginAsnViolationMypeers()) && proto.ramius.OriginAsnViolationMypeers.toObject(includeInstance, f),\n leftAsnViolationMypeers: (f = msg.getLeftAsnViolationMypeers()) && proto.ramius.LeftAsnViolationMypeers.toObject(includeInstance, f),\n asPathLengthViolationMypeers: (f = msg.getAsPathLengthViolationMypeers()) && proto.ramius.AsPathLengthViolationMypeers.toObject(includeInstance, f),\n withdrawnViolationMypeers: (f = msg.getWithdrawnViolationMypeers()) && proto.ramius.WithdrawnViolationMyPeers.toObject(includeInstance, f),\n aggregateViolationMypeers: (f = msg.getAggregateViolationMypeers()) && proto.ramius.AggregateViolationMypeers.toObject(includeInstance, f),\n prefixAdvertisementViolationMypeers: (f = msg.getPrefixAdvertisementViolationMypeers()) && proto.ramius.PrefixAdvertisementViolationMypeers.toObject(includeInstance, f),\n validAsPathViolationMypeers: (f = msg.getValidAsPathViolationMypeers()) && proto.ramius.ValidAsPathViolationMypeers.toObject(includeInstance, f),\n deviceEnrollmentCertImminentExpiry: (f = msg.getDeviceEnrollmentCertImminentExpiry()) && proto.ramius.DeviceEnrollmentCertImminentExpiry.toObject(includeInstance, f),\n deviceRunningConfigChange: (f = msg.getDeviceRunningConfigChange()) && proto.ramius.DeviceRunningConfigChange.toObject(includeInstance, f),\n endpointsList: jspb.Message.toObjectList(msg.getEndpointsList(),\n proto.ramius.AlarmRuleEndpoint.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AlarmCfg}\n */\nproto.ramius.AlarmCfg.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AlarmCfg;\n return proto.ramius.AlarmCfg.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AlarmCfg} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AlarmCfg}\n */\nproto.ramius.AlarmCfg.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setAlarmType(value);\n break;\n case 2:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setDisabled(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.AlarmCfg.Level} */ (reader.readEnum());\n msg.setLevel(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinPeerCount(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxPeerCount(value);\n break;\n case 6:\n var value = new proto.ramius.OriginAsnViolation;\n reader.readMessage(value,proto.ramius.OriginAsnViolation.deserializeBinaryFromReader);\n msg.setOriginAsnViolation(value);\n break;\n case 7:\n var value = new proto.ramius.SubprefixViolation;\n reader.readMessage(value,proto.ramius.SubprefixViolation.deserializeBinaryFromReader);\n msg.setSubprefixViolation(value);\n break;\n case 8:\n var value = new proto.ramius.LeftAsnViolation;\n reader.readMessage(value,proto.ramius.LeftAsnViolation.deserializeBinaryFromReader);\n msg.setLeftAsnViolation(value);\n break;\n case 9:\n var value = new proto.ramius.AsNewPrefixViolation;\n reader.readMessage(value,proto.ramius.AsNewPrefixViolation.deserializeBinaryFromReader);\n msg.setAsNewPrefixViolation(value);\n break;\n case 10:\n var value = new proto.ramius.WithdrawnViolation;\n reader.readMessage(value,proto.ramius.WithdrawnViolation.deserializeBinaryFromReader);\n msg.setWithdrawnViolation(value);\n break;\n case 11:\n var value = new proto.ramius.RoaViolation;\n reader.readMessage(value,proto.ramius.RoaViolation.deserializeBinaryFromReader);\n msg.setRoaViolation(value);\n break;\n case 12:\n var value = new proto.ramius.AsPathLengthViolation;\n reader.readMessage(value,proto.ramius.AsPathLengthViolation.deserializeBinaryFromReader);\n msg.setAsPathLengthViolation(value);\n break;\n case 13:\n var value = new proto.ramius.AggregateViolation;\n reader.readMessage(value,proto.ramius.AggregateViolation.deserializeBinaryFromReader);\n msg.setAggregateViolation(value);\n break;\n case 14:\n var value = new proto.ramius.PrefixAdvertisementViolation;\n reader.readMessage(value,proto.ramius.PrefixAdvertisementViolation.deserializeBinaryFromReader);\n msg.setPrefixAdvertisementViolation(value);\n break;\n case 15:\n var value = new proto.ramius.NewGlobalPeerEdgeViolation;\n reader.readMessage(value,proto.ramius.NewGlobalPeerEdgeViolation.deserializeBinaryFromReader);\n msg.setNewGlobalPeerEdgeViolation(value);\n break;\n case 16:\n var value = new proto.ramius.PeerDownViolation;\n reader.readMessage(value,proto.ramius.PeerDownViolation.deserializeBinaryFromReader);\n msg.setPeerDownViolation(value);\n break;\n case 17:\n var value = new proto.ramius.PeerAdvertisedPrefixCountViolation;\n reader.readMessage(value,proto.ramius.PeerAdvertisedPrefixCountViolation.deserializeBinaryFromReader);\n msg.setPeerAdvertisedPrefixCountViolation(value);\n break;\n case 18:\n var value = new proto.ramius.ValidAsPathViolation;\n reader.readMessage(value,proto.ramius.ValidAsPathViolation.deserializeBinaryFromReader);\n msg.setValidAsPathViolation(value);\n break;\n case 19:\n var value = new proto.ramius.RoaExpiryViolation;\n reader.readMessage(value,proto.ramius.RoaExpiryViolation.deserializeBinaryFromReader);\n msg.setRoaExpiryViolation(value);\n break;\n case 20:\n var value = new proto.ramius.RoaNotFoundViolation;\n reader.readMessage(value,proto.ramius.RoaNotFoundViolation.deserializeBinaryFromReader);\n msg.setRoaNotFoundViolation(value);\n break;\n case 21:\n var value = new proto.ramius.ProhibitedIpPrefixViolation;\n reader.readMessage(value,proto.ramius.ProhibitedIpPrefixViolation.deserializeBinaryFromReader);\n msg.setProhibitedIpPrefixViolation(value);\n break;\n case 22:\n var value = new proto.ramius.PeerRootDnsWithdrawnViolation;\n reader.readMessage(value,proto.ramius.PeerRootDnsWithdrawnViolation.deserializeBinaryFromReader);\n msg.setPeerRootDnsWithdrawnViolation(value);\n break;\n case 23:\n var value = new proto.ramius.TelemetryHighCpuUsage;\n reader.readMessage(value,proto.ramius.TelemetryHighCpuUsage.deserializeBinaryFromReader);\n msg.setTelemetryHighCpuUsage(value);\n break;\n case 24:\n var value = new proto.ramius.TelemetryHighMemoryUsage;\n reader.readMessage(value,proto.ramius.TelemetryHighMemoryUsage.deserializeBinaryFromReader);\n msg.setTelemetryHighMemoryUsage(value);\n break;\n case 25:\n var value = new proto.ramius.TrustUnknownFilesFound;\n reader.readMessage(value,proto.ramius.TrustUnknownFilesFound.deserializeBinaryFromReader);\n msg.setTrustUnknownFilesFound(value);\n break;\n case 26:\n var value = new proto.ramius.DeviceConnectivityChange;\n reader.readMessage(value,proto.ramius.DeviceConnectivityChange.deserializeBinaryFromReader);\n msg.setDeviceConnectivityChange(value);\n break;\n case 27:\n var value = new proto.ramius.GatewayConnectivityChange;\n reader.readMessage(value,proto.ramius.GatewayConnectivityChange.deserializeBinaryFromReader);\n msg.setGatewayConnectivityChange(value);\n break;\n case 28:\n var value = new proto.ramius.InterfaceJumboPrefixAlarm;\n reader.readMessage(value,proto.ramius.InterfaceJumboPrefixAlarm.deserializeBinaryFromReader);\n msg.setInterfaceJumboPrefixAlarm(value);\n break;\n case 29:\n var value = new proto.ramius.InterfaceThresholdRxAlarm;\n reader.readMessage(value,proto.ramius.InterfaceThresholdRxAlarm.deserializeBinaryFromReader);\n msg.setInterfaceThresholdRxAlarm(value);\n break;\n case 30:\n var value = new proto.ramius.InterfaceThresholdTxAlarm;\n reader.readMessage(value,proto.ramius.InterfaceThresholdTxAlarm.deserializeBinaryFromReader);\n msg.setInterfaceThresholdTxAlarm(value);\n break;\n case 31:\n var value = new proto.ramius.DeviceDossierCollectionFailure;\n reader.readMessage(value,proto.ramius.DeviceDossierCollectionFailure.deserializeBinaryFromReader);\n msg.setDeviceDossierCollectionFailure(value);\n break;\n case 32:\n var value = new proto.ramius.DeviceEnrollmentCertExpiration;\n reader.readMessage(value,proto.ramius.DeviceEnrollmentCertExpiration.deserializeBinaryFromReader);\n msg.setDeviceEnrollmentCertExpiration(value);\n break;\n case 33:\n var value = new proto.ramius.DeviceEnrollmentCertViolation;\n reader.readMessage(value,proto.ramius.DeviceEnrollmentCertViolation.deserializeBinaryFromReader);\n msg.setDeviceEnrollmentCertViolation(value);\n break;\n case 34:\n var value = new proto.ramius.DeviceSshHostKeyViolation;\n reader.readMessage(value,proto.ramius.DeviceSshHostKeyViolation.deserializeBinaryFromReader);\n msg.setDeviceSshHostKeyViolation(value);\n break;\n case 35:\n var value = new proto.ramius.TrustMismatchedFilesFound;\n reader.readMessage(value,proto.ramius.TrustMismatchedFilesFound.deserializeBinaryFromReader);\n msg.setTrustMismatchedFilesFound(value);\n break;\n case 36:\n var value = new proto.ramius.DeviceHardwareIntegrity;\n reader.readMessage(value,proto.ramius.DeviceHardwareIntegrity.deserializeBinaryFromReader);\n msg.setDeviceHardwareIntegrity(value);\n break;\n case 37:\n var value = new proto.ramius.DeviceSoftwareIntegrity;\n reader.readMessage(value,proto.ramius.DeviceSoftwareIntegrity.deserializeBinaryFromReader);\n msg.setDeviceSoftwareIntegrity(value);\n break;\n case 38:\n var value = new proto.ramius.OriginAsnViolationMypeers;\n reader.readMessage(value,proto.ramius.OriginAsnViolationMypeers.deserializeBinaryFromReader);\n msg.setOriginAsnViolationMypeers(value);\n break;\n case 39:\n var value = new proto.ramius.LeftAsnViolationMypeers;\n reader.readMessage(value,proto.ramius.LeftAsnViolationMypeers.deserializeBinaryFromReader);\n msg.setLeftAsnViolationMypeers(value);\n break;\n case 41:\n var value = new proto.ramius.AsPathLengthViolationMypeers;\n reader.readMessage(value,proto.ramius.AsPathLengthViolationMypeers.deserializeBinaryFromReader);\n msg.setAsPathLengthViolationMypeers(value);\n break;\n case 42:\n var value = new proto.ramius.WithdrawnViolationMyPeers;\n reader.readMessage(value,proto.ramius.WithdrawnViolationMyPeers.deserializeBinaryFromReader);\n msg.setWithdrawnViolationMypeers(value);\n break;\n case 43:\n var value = new proto.ramius.AggregateViolationMypeers;\n reader.readMessage(value,proto.ramius.AggregateViolationMypeers.deserializeBinaryFromReader);\n msg.setAggregateViolationMypeers(value);\n break;\n case 44:\n var value = new proto.ramius.PrefixAdvertisementViolationMypeers;\n reader.readMessage(value,proto.ramius.PrefixAdvertisementViolationMypeers.deserializeBinaryFromReader);\n msg.setPrefixAdvertisementViolationMypeers(value);\n break;\n case 45:\n var value = new proto.ramius.ValidAsPathViolationMypeers;\n reader.readMessage(value,proto.ramius.ValidAsPathViolationMypeers.deserializeBinaryFromReader);\n msg.setValidAsPathViolationMypeers(value);\n break;\n case 46:\n var value = new proto.ramius.DeviceEnrollmentCertImminentExpiry;\n reader.readMessage(value,proto.ramius.DeviceEnrollmentCertImminentExpiry.deserializeBinaryFromReader);\n msg.setDeviceEnrollmentCertImminentExpiry(value);\n break;\n case 47:\n var value = new proto.ramius.DeviceRunningConfigChange;\n reader.readMessage(value,proto.ramius.DeviceRunningConfigChange.deserializeBinaryFromReader);\n msg.setDeviceRunningConfigChange(value);\n break;\n case 40:\n var value = new proto.ramius.AlarmRuleEndpoint;\n reader.readMessage(value,proto.ramius.AlarmRuleEndpoint.deserializeBinaryFromReader);\n msg.addEndpoints(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AlarmCfg.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AlarmCfg.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AlarmCfg} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AlarmCfg.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAlarmType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getDisabled();\n if (f) {\n writer.writeBool(\n 2,\n f\n );\n }\n f = message.getLevel();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getMinPeerCount();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n f = message.getMaxPeerCount();\n if (f !== 0) {\n writer.writeUint32(\n 5,\n f\n );\n }\n f = message.getOriginAsnViolation();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.OriginAsnViolation.serializeBinaryToWriter\n );\n }\n f = message.getSubprefixViolation();\n if (f != null) {\n writer.writeMessage(\n 7,\n f,\n proto.ramius.SubprefixViolation.serializeBinaryToWriter\n );\n }\n f = message.getLeftAsnViolation();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n proto.ramius.LeftAsnViolation.serializeBinaryToWriter\n );\n }\n f = message.getAsNewPrefixViolation();\n if (f != null) {\n writer.writeMessage(\n 9,\n f,\n proto.ramius.AsNewPrefixViolation.serializeBinaryToWriter\n );\n }\n f = message.getWithdrawnViolation();\n if (f != null) {\n writer.writeMessage(\n 10,\n f,\n proto.ramius.WithdrawnViolation.serializeBinaryToWriter\n );\n }\n f = message.getRoaViolation();\n if (f != null) {\n writer.writeMessage(\n 11,\n f,\n proto.ramius.RoaViolation.serializeBinaryToWriter\n );\n }\n f = message.getAsPathLengthViolation();\n if (f != null) {\n writer.writeMessage(\n 12,\n f,\n proto.ramius.AsPathLengthViolation.serializeBinaryToWriter\n );\n }\n f = message.getAggregateViolation();\n if (f != null) {\n writer.writeMessage(\n 13,\n f,\n proto.ramius.AggregateViolation.serializeBinaryToWriter\n );\n }\n f = message.getPrefixAdvertisementViolation();\n if (f != null) {\n writer.writeMessage(\n 14,\n f,\n proto.ramius.PrefixAdvertisementViolation.serializeBinaryToWriter\n );\n }\n f = message.getNewGlobalPeerEdgeViolation();\n if (f != null) {\n writer.writeMessage(\n 15,\n f,\n proto.ramius.NewGlobalPeerEdgeViolation.serializeBinaryToWriter\n );\n }\n f = message.getPeerDownViolation();\n if (f != null) {\n writer.writeMessage(\n 16,\n f,\n proto.ramius.PeerDownViolation.serializeBinaryToWriter\n );\n }\n f = message.getPeerAdvertisedPrefixCountViolation();\n if (f != null) {\n writer.writeMessage(\n 17,\n f,\n proto.ramius.PeerAdvertisedPrefixCountViolation.serializeBinaryToWriter\n );\n }\n f = message.getValidAsPathViolation();\n if (f != null) {\n writer.writeMessage(\n 18,\n f,\n proto.ramius.ValidAsPathViolation.serializeBinaryToWriter\n );\n }\n f = message.getRoaExpiryViolation();\n if (f != null) {\n writer.writeMessage(\n 19,\n f,\n proto.ramius.RoaExpiryViolation.serializeBinaryToWriter\n );\n }\n f = message.getRoaNotFoundViolation();\n if (f != null) {\n writer.writeMessage(\n 20,\n f,\n proto.ramius.RoaNotFoundViolation.serializeBinaryToWriter\n );\n }\n f = message.getProhibitedIpPrefixViolation();\n if (f != null) {\n writer.writeMessage(\n 21,\n f,\n proto.ramius.ProhibitedIpPrefixViolation.serializeBinaryToWriter\n );\n }\n f = message.getPeerRootDnsWithdrawnViolation();\n if (f != null) {\n writer.writeMessage(\n 22,\n f,\n proto.ramius.PeerRootDnsWithdrawnViolation.serializeBinaryToWriter\n );\n }\n f = message.getTelemetryHighCpuUsage();\n if (f != null) {\n writer.writeMessage(\n 23,\n f,\n proto.ramius.TelemetryHighCpuUsage.serializeBinaryToWriter\n );\n }\n f = message.getTelemetryHighMemoryUsage();\n if (f != null) {\n writer.writeMessage(\n 24,\n f,\n proto.ramius.TelemetryHighMemoryUsage.serializeBinaryToWriter\n );\n }\n f = message.getTrustUnknownFilesFound();\n if (f != null) {\n writer.writeMessage(\n 25,\n f,\n proto.ramius.TrustUnknownFilesFound.serializeBinaryToWriter\n );\n }\n f = message.getDeviceConnectivityChange();\n if (f != null) {\n writer.writeMessage(\n 26,\n f,\n proto.ramius.DeviceConnectivityChange.serializeBinaryToWriter\n );\n }\n f = message.getGatewayConnectivityChange();\n if (f != null) {\n writer.writeMessage(\n 27,\n f,\n proto.ramius.GatewayConnectivityChange.serializeBinaryToWriter\n );\n }\n f = message.getInterfaceJumboPrefixAlarm();\n if (f != null) {\n writer.writeMessage(\n 28,\n f,\n proto.ramius.InterfaceJumboPrefixAlarm.serializeBinaryToWriter\n );\n }\n f = message.getInterfaceThresholdRxAlarm();\n if (f != null) {\n writer.writeMessage(\n 29,\n f,\n proto.ramius.InterfaceThresholdRxAlarm.serializeBinaryToWriter\n );\n }\n f = message.getInterfaceThresholdTxAlarm();\n if (f != null) {\n writer.writeMessage(\n 30,\n f,\n proto.ramius.InterfaceThresholdTxAlarm.serializeBinaryToWriter\n );\n }\n f = message.getDeviceDossierCollectionFailure();\n if (f != null) {\n writer.writeMessage(\n 31,\n f,\n proto.ramius.DeviceDossierCollectionFailure.serializeBinaryToWriter\n );\n }\n f = message.getDeviceEnrollmentCertExpiration();\n if (f != null) {\n writer.writeMessage(\n 32,\n f,\n proto.ramius.DeviceEnrollmentCertExpiration.serializeBinaryToWriter\n );\n }\n f = message.getDeviceEnrollmentCertViolation();\n if (f != null) {\n writer.writeMessage(\n 33,\n f,\n proto.ramius.DeviceEnrollmentCertViolation.serializeBinaryToWriter\n );\n }\n f = message.getDeviceSshHostKeyViolation();\n if (f != null) {\n writer.writeMessage(\n 34,\n f,\n proto.ramius.DeviceSshHostKeyViolation.serializeBinaryToWriter\n );\n }\n f = message.getTrustMismatchedFilesFound();\n if (f != null) {\n writer.writeMessage(\n 35,\n f,\n proto.ramius.TrustMismatchedFilesFound.serializeBinaryToWriter\n );\n }\n f = message.getDeviceHardwareIntegrity();\n if (f != null) {\n writer.writeMessage(\n 36,\n f,\n proto.ramius.DeviceHardwareIntegrity.serializeBinaryToWriter\n );\n }\n f = message.getDeviceSoftwareIntegrity();\n if (f != null) {\n writer.writeMessage(\n 37,\n f,\n proto.ramius.DeviceSoftwareIntegrity.serializeBinaryToWriter\n );\n }\n f = message.getOriginAsnViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 38,\n f,\n proto.ramius.OriginAsnViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getLeftAsnViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 39,\n f,\n proto.ramius.LeftAsnViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getAsPathLengthViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 41,\n f,\n proto.ramius.AsPathLengthViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getWithdrawnViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 42,\n f,\n proto.ramius.WithdrawnViolationMyPeers.serializeBinaryToWriter\n );\n }\n f = message.getAggregateViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 43,\n f,\n proto.ramius.AggregateViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getPrefixAdvertisementViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 44,\n f,\n proto.ramius.PrefixAdvertisementViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getValidAsPathViolationMypeers();\n if (f != null) {\n writer.writeMessage(\n 45,\n f,\n proto.ramius.ValidAsPathViolationMypeers.serializeBinaryToWriter\n );\n }\n f = message.getDeviceEnrollmentCertImminentExpiry();\n if (f != null) {\n writer.writeMessage(\n 46,\n f,\n proto.ramius.DeviceEnrollmentCertImminentExpiry.serializeBinaryToWriter\n );\n }\n f = message.getDeviceRunningConfigChange();\n if (f != null) {\n writer.writeMessage(\n 47,\n f,\n proto.ramius.DeviceRunningConfigChange.serializeBinaryToWriter\n );\n }\n f = message.getEndpointsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 40,\n f,\n proto.ramius.AlarmRuleEndpoint.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.AlarmCfg.Level = {\n INVALID: 0,\n GRAY: 1,\n YELLOW: 2,\n RED: 3\n};\n\n/**\n * optional AlarmType alarm_type = 1;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.AlarmCfg.prototype.getAlarmType = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.setAlarmType = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional bool disabled = 2;\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.getDisabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.setDisabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 2, value);\n};\n\n\n/**\n * optional Level level = 3;\n * @return {!proto.ramius.AlarmCfg.Level}\n */\nproto.ramius.AlarmCfg.prototype.getLevel = function() {\n return /** @type {!proto.ramius.AlarmCfg.Level} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmCfg.Level} value\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.setLevel = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional uint32 min_peer_count = 4;\n * @return {number}\n */\nproto.ramius.AlarmCfg.prototype.getMinPeerCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.setMinPeerCount = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional uint32 max_peer_count = 5;\n * @return {number}\n */\nproto.ramius.AlarmCfg.prototype.getMaxPeerCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.setMaxPeerCount = function(value) {\n return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * optional OriginAsnViolation origin_asn_violation = 6;\n * @return {?proto.ramius.OriginAsnViolation}\n */\nproto.ramius.AlarmCfg.prototype.getOriginAsnViolation = function() {\n return /** @type{?proto.ramius.OriginAsnViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.OriginAsnViolation, 6));\n};\n\n\n/**\n * @param {?proto.ramius.OriginAsnViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setOriginAsnViolation = function(value) {\n return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearOriginAsnViolation = function() {\n return this.setOriginAsnViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasOriginAsnViolation = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional SubprefixViolation subprefix_violation = 7;\n * @return {?proto.ramius.SubprefixViolation}\n */\nproto.ramius.AlarmCfg.prototype.getSubprefixViolation = function() {\n return /** @type{?proto.ramius.SubprefixViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SubprefixViolation, 7));\n};\n\n\n/**\n * @param {?proto.ramius.SubprefixViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setSubprefixViolation = function(value) {\n return jspb.Message.setWrapperField(this, 7, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearSubprefixViolation = function() {\n return this.setSubprefixViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasSubprefixViolation = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional LeftAsnViolation left_asn_violation = 8;\n * @return {?proto.ramius.LeftAsnViolation}\n */\nproto.ramius.AlarmCfg.prototype.getLeftAsnViolation = function() {\n return /** @type{?proto.ramius.LeftAsnViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.LeftAsnViolation, 8));\n};\n\n\n/**\n * @param {?proto.ramius.LeftAsnViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setLeftAsnViolation = function(value) {\n return jspb.Message.setWrapperField(this, 8, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearLeftAsnViolation = function() {\n return this.setLeftAsnViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasLeftAsnViolation = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional AsNewPrefixViolation as_new_prefix_violation = 9;\n * @return {?proto.ramius.AsNewPrefixViolation}\n */\nproto.ramius.AlarmCfg.prototype.getAsNewPrefixViolation = function() {\n return /** @type{?proto.ramius.AsNewPrefixViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AsNewPrefixViolation, 9));\n};\n\n\n/**\n * @param {?proto.ramius.AsNewPrefixViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setAsNewPrefixViolation = function(value) {\n return jspb.Message.setWrapperField(this, 9, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearAsNewPrefixViolation = function() {\n return this.setAsNewPrefixViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasAsNewPrefixViolation = function() {\n return jspb.Message.getField(this, 9) != null;\n};\n\n\n/**\n * optional WithdrawnViolation withdrawn_violation = 10;\n * @return {?proto.ramius.WithdrawnViolation}\n */\nproto.ramius.AlarmCfg.prototype.getWithdrawnViolation = function() {\n return /** @type{?proto.ramius.WithdrawnViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.WithdrawnViolation, 10));\n};\n\n\n/**\n * @param {?proto.ramius.WithdrawnViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setWithdrawnViolation = function(value) {\n return jspb.Message.setWrapperField(this, 10, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearWithdrawnViolation = function() {\n return this.setWithdrawnViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasWithdrawnViolation = function() {\n return jspb.Message.getField(this, 10) != null;\n};\n\n\n/**\n * optional RoaViolation roa_violation = 11;\n * @return {?proto.ramius.RoaViolation}\n */\nproto.ramius.AlarmCfg.prototype.getRoaViolation = function() {\n return /** @type{?proto.ramius.RoaViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.RoaViolation, 11));\n};\n\n\n/**\n * @param {?proto.ramius.RoaViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setRoaViolation = function(value) {\n return jspb.Message.setWrapperField(this, 11, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearRoaViolation = function() {\n return this.setRoaViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasRoaViolation = function() {\n return jspb.Message.getField(this, 11) != null;\n};\n\n\n/**\n * optional AsPathLengthViolation as_path_length_violation = 12;\n * @return {?proto.ramius.AsPathLengthViolation}\n */\nproto.ramius.AlarmCfg.prototype.getAsPathLengthViolation = function() {\n return /** @type{?proto.ramius.AsPathLengthViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AsPathLengthViolation, 12));\n};\n\n\n/**\n * @param {?proto.ramius.AsPathLengthViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setAsPathLengthViolation = function(value) {\n return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearAsPathLengthViolation = function() {\n return this.setAsPathLengthViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasAsPathLengthViolation = function() {\n return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional AggregateViolation aggregate_violation = 13;\n * @return {?proto.ramius.AggregateViolation}\n */\nproto.ramius.AlarmCfg.prototype.getAggregateViolation = function() {\n return /** @type{?proto.ramius.AggregateViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AggregateViolation, 13));\n};\n\n\n/**\n * @param {?proto.ramius.AggregateViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setAggregateViolation = function(value) {\n return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearAggregateViolation = function() {\n return this.setAggregateViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasAggregateViolation = function() {\n return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional PrefixAdvertisementViolation prefix_advertisement_violation = 14;\n * @return {?proto.ramius.PrefixAdvertisementViolation}\n */\nproto.ramius.AlarmCfg.prototype.getPrefixAdvertisementViolation = function() {\n return /** @type{?proto.ramius.PrefixAdvertisementViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixAdvertisementViolation, 14));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixAdvertisementViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setPrefixAdvertisementViolation = function(value) {\n return jspb.Message.setWrapperField(this, 14, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearPrefixAdvertisementViolation = function() {\n return this.setPrefixAdvertisementViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasPrefixAdvertisementViolation = function() {\n return jspb.Message.getField(this, 14) != null;\n};\n\n\n/**\n * optional NewGlobalPeerEdgeViolation new_global_peer_edge_violation = 15;\n * @return {?proto.ramius.NewGlobalPeerEdgeViolation}\n */\nproto.ramius.AlarmCfg.prototype.getNewGlobalPeerEdgeViolation = function() {\n return /** @type{?proto.ramius.NewGlobalPeerEdgeViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.NewGlobalPeerEdgeViolation, 15));\n};\n\n\n/**\n * @param {?proto.ramius.NewGlobalPeerEdgeViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setNewGlobalPeerEdgeViolation = function(value) {\n return jspb.Message.setWrapperField(this, 15, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearNewGlobalPeerEdgeViolation = function() {\n return this.setNewGlobalPeerEdgeViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasNewGlobalPeerEdgeViolation = function() {\n return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional PeerDownViolation peer_down_violation = 16;\n * @return {?proto.ramius.PeerDownViolation}\n */\nproto.ramius.AlarmCfg.prototype.getPeerDownViolation = function() {\n return /** @type{?proto.ramius.PeerDownViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerDownViolation, 16));\n};\n\n\n/**\n * @param {?proto.ramius.PeerDownViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setPeerDownViolation = function(value) {\n return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearPeerDownViolation = function() {\n return this.setPeerDownViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasPeerDownViolation = function() {\n return jspb.Message.getField(this, 16) != null;\n};\n\n\n/**\n * optional PeerAdvertisedPrefixCountViolation peer_advertised_prefix_count_violation = 17;\n * @return {?proto.ramius.PeerAdvertisedPrefixCountViolation}\n */\nproto.ramius.AlarmCfg.prototype.getPeerAdvertisedPrefixCountViolation = function() {\n return /** @type{?proto.ramius.PeerAdvertisedPrefixCountViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerAdvertisedPrefixCountViolation, 17));\n};\n\n\n/**\n * @param {?proto.ramius.PeerAdvertisedPrefixCountViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setPeerAdvertisedPrefixCountViolation = function(value) {\n return jspb.Message.setWrapperField(this, 17, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearPeerAdvertisedPrefixCountViolation = function() {\n return this.setPeerAdvertisedPrefixCountViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasPeerAdvertisedPrefixCountViolation = function() {\n return jspb.Message.getField(this, 17) != null;\n};\n\n\n/**\n * optional ValidAsPathViolation valid_as_path_violation = 18;\n * @return {?proto.ramius.ValidAsPathViolation}\n */\nproto.ramius.AlarmCfg.prototype.getValidAsPathViolation = function() {\n return /** @type{?proto.ramius.ValidAsPathViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ValidAsPathViolation, 18));\n};\n\n\n/**\n * @param {?proto.ramius.ValidAsPathViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setValidAsPathViolation = function(value) {\n return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearValidAsPathViolation = function() {\n return this.setValidAsPathViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasValidAsPathViolation = function() {\n return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional RoaExpiryViolation roa_expiry_violation = 19;\n * @return {?proto.ramius.RoaExpiryViolation}\n */\nproto.ramius.AlarmCfg.prototype.getRoaExpiryViolation = function() {\n return /** @type{?proto.ramius.RoaExpiryViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.RoaExpiryViolation, 19));\n};\n\n\n/**\n * @param {?proto.ramius.RoaExpiryViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setRoaExpiryViolation = function(value) {\n return jspb.Message.setWrapperField(this, 19, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearRoaExpiryViolation = function() {\n return this.setRoaExpiryViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasRoaExpiryViolation = function() {\n return jspb.Message.getField(this, 19) != null;\n};\n\n\n/**\n * optional RoaNotFoundViolation roa_not_found_violation = 20;\n * @return {?proto.ramius.RoaNotFoundViolation}\n */\nproto.ramius.AlarmCfg.prototype.getRoaNotFoundViolation = function() {\n return /** @type{?proto.ramius.RoaNotFoundViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.RoaNotFoundViolation, 20));\n};\n\n\n/**\n * @param {?proto.ramius.RoaNotFoundViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setRoaNotFoundViolation = function(value) {\n return jspb.Message.setWrapperField(this, 20, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearRoaNotFoundViolation = function() {\n return this.setRoaNotFoundViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasRoaNotFoundViolation = function() {\n return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional ProhibitedIpPrefixViolation prohibited_ip_prefix_violation = 21;\n * @return {?proto.ramius.ProhibitedIpPrefixViolation}\n */\nproto.ramius.AlarmCfg.prototype.getProhibitedIpPrefixViolation = function() {\n return /** @type{?proto.ramius.ProhibitedIpPrefixViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ProhibitedIpPrefixViolation, 21));\n};\n\n\n/**\n * @param {?proto.ramius.ProhibitedIpPrefixViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setProhibitedIpPrefixViolation = function(value) {\n return jspb.Message.setWrapperField(this, 21, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearProhibitedIpPrefixViolation = function() {\n return this.setProhibitedIpPrefixViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasProhibitedIpPrefixViolation = function() {\n return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional PeerRootDnsWithdrawnViolation peer_root_dns_withdrawn_violation = 22;\n * @return {?proto.ramius.PeerRootDnsWithdrawnViolation}\n */\nproto.ramius.AlarmCfg.prototype.getPeerRootDnsWithdrawnViolation = function() {\n return /** @type{?proto.ramius.PeerRootDnsWithdrawnViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerRootDnsWithdrawnViolation, 22));\n};\n\n\n/**\n * @param {?proto.ramius.PeerRootDnsWithdrawnViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setPeerRootDnsWithdrawnViolation = function(value) {\n return jspb.Message.setWrapperField(this, 22, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearPeerRootDnsWithdrawnViolation = function() {\n return this.setPeerRootDnsWithdrawnViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasPeerRootDnsWithdrawnViolation = function() {\n return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional TelemetryHighCpuUsage telemetry_high_cpu_usage = 23;\n * @return {?proto.ramius.TelemetryHighCpuUsage}\n */\nproto.ramius.AlarmCfg.prototype.getTelemetryHighCpuUsage = function() {\n return /** @type{?proto.ramius.TelemetryHighCpuUsage} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TelemetryHighCpuUsage, 23));\n};\n\n\n/**\n * @param {?proto.ramius.TelemetryHighCpuUsage|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setTelemetryHighCpuUsage = function(value) {\n return jspb.Message.setWrapperField(this, 23, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearTelemetryHighCpuUsage = function() {\n return this.setTelemetryHighCpuUsage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasTelemetryHighCpuUsage = function() {\n return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional TelemetryHighMemoryUsage telemetry_high_memory_usage = 24;\n * @return {?proto.ramius.TelemetryHighMemoryUsage}\n */\nproto.ramius.AlarmCfg.prototype.getTelemetryHighMemoryUsage = function() {\n return /** @type{?proto.ramius.TelemetryHighMemoryUsage} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TelemetryHighMemoryUsage, 24));\n};\n\n\n/**\n * @param {?proto.ramius.TelemetryHighMemoryUsage|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setTelemetryHighMemoryUsage = function(value) {\n return jspb.Message.setWrapperField(this, 24, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearTelemetryHighMemoryUsage = function() {\n return this.setTelemetryHighMemoryUsage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasTelemetryHighMemoryUsage = function() {\n return jspb.Message.getField(this, 24) != null;\n};\n\n\n/**\n * optional TrustUnknownFilesFound trust_unknown_files_found = 25;\n * @return {?proto.ramius.TrustUnknownFilesFound}\n */\nproto.ramius.AlarmCfg.prototype.getTrustUnknownFilesFound = function() {\n return /** @type{?proto.ramius.TrustUnknownFilesFound} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TrustUnknownFilesFound, 25));\n};\n\n\n/**\n * @param {?proto.ramius.TrustUnknownFilesFound|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setTrustUnknownFilesFound = function(value) {\n return jspb.Message.setWrapperField(this, 25, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearTrustUnknownFilesFound = function() {\n return this.setTrustUnknownFilesFound(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasTrustUnknownFilesFound = function() {\n return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional DeviceConnectivityChange device_connectivity_change = 26;\n * @return {?proto.ramius.DeviceConnectivityChange}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceConnectivityChange = function() {\n return /** @type{?proto.ramius.DeviceConnectivityChange} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceConnectivityChange, 26));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceConnectivityChange|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceConnectivityChange = function(value) {\n return jspb.Message.setWrapperField(this, 26, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceConnectivityChange = function() {\n return this.setDeviceConnectivityChange(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceConnectivityChange = function() {\n return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional GatewayConnectivityChange gateway_connectivity_change = 27;\n * @return {?proto.ramius.GatewayConnectivityChange}\n */\nproto.ramius.AlarmCfg.prototype.getGatewayConnectivityChange = function() {\n return /** @type{?proto.ramius.GatewayConnectivityChange} */ (\n jspb.Message.getWrapperField(this, proto.ramius.GatewayConnectivityChange, 27));\n};\n\n\n/**\n * @param {?proto.ramius.GatewayConnectivityChange|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setGatewayConnectivityChange = function(value) {\n return jspb.Message.setWrapperField(this, 27, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearGatewayConnectivityChange = function() {\n return this.setGatewayConnectivityChange(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasGatewayConnectivityChange = function() {\n return jspb.Message.getField(this, 27) != null;\n};\n\n\n/**\n * optional InterfaceJumboPrefixAlarm interface_jumbo_prefix_alarm = 28;\n * @return {?proto.ramius.InterfaceJumboPrefixAlarm}\n */\nproto.ramius.AlarmCfg.prototype.getInterfaceJumboPrefixAlarm = function() {\n return /** @type{?proto.ramius.InterfaceJumboPrefixAlarm} */ (\n jspb.Message.getWrapperField(this, proto.ramius.InterfaceJumboPrefixAlarm, 28));\n};\n\n\n/**\n * @param {?proto.ramius.InterfaceJumboPrefixAlarm|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setInterfaceJumboPrefixAlarm = function(value) {\n return jspb.Message.setWrapperField(this, 28, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearInterfaceJumboPrefixAlarm = function() {\n return this.setInterfaceJumboPrefixAlarm(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasInterfaceJumboPrefixAlarm = function() {\n return jspb.Message.getField(this, 28) != null;\n};\n\n\n/**\n * optional InterfaceThresholdRxAlarm interface_threshold_rx_alarm = 29;\n * @return {?proto.ramius.InterfaceThresholdRxAlarm}\n */\nproto.ramius.AlarmCfg.prototype.getInterfaceThresholdRxAlarm = function() {\n return /** @type{?proto.ramius.InterfaceThresholdRxAlarm} */ (\n jspb.Message.getWrapperField(this, proto.ramius.InterfaceThresholdRxAlarm, 29));\n};\n\n\n/**\n * @param {?proto.ramius.InterfaceThresholdRxAlarm|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setInterfaceThresholdRxAlarm = function(value) {\n return jspb.Message.setWrapperField(this, 29, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearInterfaceThresholdRxAlarm = function() {\n return this.setInterfaceThresholdRxAlarm(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasInterfaceThresholdRxAlarm = function() {\n return jspb.Message.getField(this, 29) != null;\n};\n\n\n/**\n * optional InterfaceThresholdTxAlarm interface_threshold_tx_alarm = 30;\n * @return {?proto.ramius.InterfaceThresholdTxAlarm}\n */\nproto.ramius.AlarmCfg.prototype.getInterfaceThresholdTxAlarm = function() {\n return /** @type{?proto.ramius.InterfaceThresholdTxAlarm} */ (\n jspb.Message.getWrapperField(this, proto.ramius.InterfaceThresholdTxAlarm, 30));\n};\n\n\n/**\n * @param {?proto.ramius.InterfaceThresholdTxAlarm|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setInterfaceThresholdTxAlarm = function(value) {\n return jspb.Message.setWrapperField(this, 30, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearInterfaceThresholdTxAlarm = function() {\n return this.setInterfaceThresholdTxAlarm(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasInterfaceThresholdTxAlarm = function() {\n return jspb.Message.getField(this, 30) != null;\n};\n\n\n/**\n * optional DeviceDossierCollectionFailure device_dossier_collection_failure = 31;\n * @return {?proto.ramius.DeviceDossierCollectionFailure}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceDossierCollectionFailure = function() {\n return /** @type{?proto.ramius.DeviceDossierCollectionFailure} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceDossierCollectionFailure, 31));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceDossierCollectionFailure|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceDossierCollectionFailure = function(value) {\n return jspb.Message.setWrapperField(this, 31, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceDossierCollectionFailure = function() {\n return this.setDeviceDossierCollectionFailure(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceDossierCollectionFailure = function() {\n return jspb.Message.getField(this, 31) != null;\n};\n\n\n/**\n * optional DeviceEnrollmentCertExpiration device_enrollment_cert_expiration = 32;\n * @return {?proto.ramius.DeviceEnrollmentCertExpiration}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceEnrollmentCertExpiration = function() {\n return /** @type{?proto.ramius.DeviceEnrollmentCertExpiration} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceEnrollmentCertExpiration, 32));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceEnrollmentCertExpiration|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceEnrollmentCertExpiration = function(value) {\n return jspb.Message.setWrapperField(this, 32, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceEnrollmentCertExpiration = function() {\n return this.setDeviceEnrollmentCertExpiration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceEnrollmentCertExpiration = function() {\n return jspb.Message.getField(this, 32) != null;\n};\n\n\n/**\n * optional DeviceEnrollmentCertViolation device_enrollment_cert_violation = 33;\n * @return {?proto.ramius.DeviceEnrollmentCertViolation}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceEnrollmentCertViolation = function() {\n return /** @type{?proto.ramius.DeviceEnrollmentCertViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceEnrollmentCertViolation, 33));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceEnrollmentCertViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceEnrollmentCertViolation = function(value) {\n return jspb.Message.setWrapperField(this, 33, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceEnrollmentCertViolation = function() {\n return this.setDeviceEnrollmentCertViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceEnrollmentCertViolation = function() {\n return jspb.Message.getField(this, 33) != null;\n};\n\n\n/**\n * optional DeviceSshHostKeyViolation device_ssh_host_key_violation = 34;\n * @return {?proto.ramius.DeviceSshHostKeyViolation}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceSshHostKeyViolation = function() {\n return /** @type{?proto.ramius.DeviceSshHostKeyViolation} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceSshHostKeyViolation, 34));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceSshHostKeyViolation|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceSshHostKeyViolation = function(value) {\n return jspb.Message.setWrapperField(this, 34, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceSshHostKeyViolation = function() {\n return this.setDeviceSshHostKeyViolation(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceSshHostKeyViolation = function() {\n return jspb.Message.getField(this, 34) != null;\n};\n\n\n/**\n * optional TrustMismatchedFilesFound trust_mismatched_files_found = 35;\n * @return {?proto.ramius.TrustMismatchedFilesFound}\n */\nproto.ramius.AlarmCfg.prototype.getTrustMismatchedFilesFound = function() {\n return /** @type{?proto.ramius.TrustMismatchedFilesFound} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TrustMismatchedFilesFound, 35));\n};\n\n\n/**\n * @param {?proto.ramius.TrustMismatchedFilesFound|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setTrustMismatchedFilesFound = function(value) {\n return jspb.Message.setWrapperField(this, 35, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearTrustMismatchedFilesFound = function() {\n return this.setTrustMismatchedFilesFound(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasTrustMismatchedFilesFound = function() {\n return jspb.Message.getField(this, 35) != null;\n};\n\n\n/**\n * optional DeviceHardwareIntegrity device_hardware_integrity = 36;\n * @return {?proto.ramius.DeviceHardwareIntegrity}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceHardwareIntegrity = function() {\n return /** @type{?proto.ramius.DeviceHardwareIntegrity} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceHardwareIntegrity, 36));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceHardwareIntegrity|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceHardwareIntegrity = function(value) {\n return jspb.Message.setWrapperField(this, 36, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceHardwareIntegrity = function() {\n return this.setDeviceHardwareIntegrity(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceHardwareIntegrity = function() {\n return jspb.Message.getField(this, 36) != null;\n};\n\n\n/**\n * optional DeviceSoftwareIntegrity device_software_integrity = 37;\n * @return {?proto.ramius.DeviceSoftwareIntegrity}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceSoftwareIntegrity = function() {\n return /** @type{?proto.ramius.DeviceSoftwareIntegrity} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceSoftwareIntegrity, 37));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceSoftwareIntegrity|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceSoftwareIntegrity = function(value) {\n return jspb.Message.setWrapperField(this, 37, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceSoftwareIntegrity = function() {\n return this.setDeviceSoftwareIntegrity(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceSoftwareIntegrity = function() {\n return jspb.Message.getField(this, 37) != null;\n};\n\n\n/**\n * optional OriginAsnViolationMypeers origin_asn_violation_mypeers = 38;\n * @return {?proto.ramius.OriginAsnViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getOriginAsnViolationMypeers = function() {\n return /** @type{?proto.ramius.OriginAsnViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.OriginAsnViolationMypeers, 38));\n};\n\n\n/**\n * @param {?proto.ramius.OriginAsnViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setOriginAsnViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 38, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearOriginAsnViolationMypeers = function() {\n return this.setOriginAsnViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasOriginAsnViolationMypeers = function() {\n return jspb.Message.getField(this, 38) != null;\n};\n\n\n/**\n * optional LeftAsnViolationMypeers left_asn_violation_mypeers = 39;\n * @return {?proto.ramius.LeftAsnViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getLeftAsnViolationMypeers = function() {\n return /** @type{?proto.ramius.LeftAsnViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.LeftAsnViolationMypeers, 39));\n};\n\n\n/**\n * @param {?proto.ramius.LeftAsnViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setLeftAsnViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 39, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearLeftAsnViolationMypeers = function() {\n return this.setLeftAsnViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasLeftAsnViolationMypeers = function() {\n return jspb.Message.getField(this, 39) != null;\n};\n\n\n/**\n * optional AsPathLengthViolationMypeers as_path_length_violation_mypeers = 41;\n * @return {?proto.ramius.AsPathLengthViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getAsPathLengthViolationMypeers = function() {\n return /** @type{?proto.ramius.AsPathLengthViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AsPathLengthViolationMypeers, 41));\n};\n\n\n/**\n * @param {?proto.ramius.AsPathLengthViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setAsPathLengthViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 41, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearAsPathLengthViolationMypeers = function() {\n return this.setAsPathLengthViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasAsPathLengthViolationMypeers = function() {\n return jspb.Message.getField(this, 41) != null;\n};\n\n\n/**\n * optional WithdrawnViolationMyPeers withdrawn_violation_mypeers = 42;\n * @return {?proto.ramius.WithdrawnViolationMyPeers}\n */\nproto.ramius.AlarmCfg.prototype.getWithdrawnViolationMypeers = function() {\n return /** @type{?proto.ramius.WithdrawnViolationMyPeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.WithdrawnViolationMyPeers, 42));\n};\n\n\n/**\n * @param {?proto.ramius.WithdrawnViolationMyPeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setWithdrawnViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 42, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearWithdrawnViolationMypeers = function() {\n return this.setWithdrawnViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasWithdrawnViolationMypeers = function() {\n return jspb.Message.getField(this, 42) != null;\n};\n\n\n/**\n * optional AggregateViolationMypeers aggregate_violation_mypeers = 43;\n * @return {?proto.ramius.AggregateViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getAggregateViolationMypeers = function() {\n return /** @type{?proto.ramius.AggregateViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.AggregateViolationMypeers, 43));\n};\n\n\n/**\n * @param {?proto.ramius.AggregateViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setAggregateViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 43, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearAggregateViolationMypeers = function() {\n return this.setAggregateViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasAggregateViolationMypeers = function() {\n return jspb.Message.getField(this, 43) != null;\n};\n\n\n/**\n * optional PrefixAdvertisementViolationMypeers prefix_advertisement_violation_mypeers = 44;\n * @return {?proto.ramius.PrefixAdvertisementViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getPrefixAdvertisementViolationMypeers = function() {\n return /** @type{?proto.ramius.PrefixAdvertisementViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PrefixAdvertisementViolationMypeers, 44));\n};\n\n\n/**\n * @param {?proto.ramius.PrefixAdvertisementViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setPrefixAdvertisementViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 44, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearPrefixAdvertisementViolationMypeers = function() {\n return this.setPrefixAdvertisementViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasPrefixAdvertisementViolationMypeers = function() {\n return jspb.Message.getField(this, 44) != null;\n};\n\n\n/**\n * optional ValidAsPathViolationMypeers valid_as_path_violation_mypeers = 45;\n * @return {?proto.ramius.ValidAsPathViolationMypeers}\n */\nproto.ramius.AlarmCfg.prototype.getValidAsPathViolationMypeers = function() {\n return /** @type{?proto.ramius.ValidAsPathViolationMypeers} */ (\n jspb.Message.getWrapperField(this, proto.ramius.ValidAsPathViolationMypeers, 45));\n};\n\n\n/**\n * @param {?proto.ramius.ValidAsPathViolationMypeers|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setValidAsPathViolationMypeers = function(value) {\n return jspb.Message.setWrapperField(this, 45, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearValidAsPathViolationMypeers = function() {\n return this.setValidAsPathViolationMypeers(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasValidAsPathViolationMypeers = function() {\n return jspb.Message.getField(this, 45) != null;\n};\n\n\n/**\n * optional DeviceEnrollmentCertImminentExpiry device_enrollment_cert_imminent_expiry = 46;\n * @return {?proto.ramius.DeviceEnrollmentCertImminentExpiry}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceEnrollmentCertImminentExpiry = function() {\n return /** @type{?proto.ramius.DeviceEnrollmentCertImminentExpiry} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceEnrollmentCertImminentExpiry, 46));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceEnrollmentCertImminentExpiry|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceEnrollmentCertImminentExpiry = function(value) {\n return jspb.Message.setWrapperField(this, 46, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceEnrollmentCertImminentExpiry = function() {\n return this.setDeviceEnrollmentCertImminentExpiry(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceEnrollmentCertImminentExpiry = function() {\n return jspb.Message.getField(this, 46) != null;\n};\n\n\n/**\n * optional DeviceRunningConfigChange device_running_config_change = 47;\n * @return {?proto.ramius.DeviceRunningConfigChange}\n */\nproto.ramius.AlarmCfg.prototype.getDeviceRunningConfigChange = function() {\n return /** @type{?proto.ramius.DeviceRunningConfigChange} */ (\n jspb.Message.getWrapperField(this, proto.ramius.DeviceRunningConfigChange, 47));\n};\n\n\n/**\n * @param {?proto.ramius.DeviceRunningConfigChange|undefined} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setDeviceRunningConfigChange = function(value) {\n return jspb.Message.setWrapperField(this, 47, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearDeviceRunningConfigChange = function() {\n return this.setDeviceRunningConfigChange(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AlarmCfg.prototype.hasDeviceRunningConfigChange = function() {\n return jspb.Message.getField(this, 47) != null;\n};\n\n\n/**\n * repeated AlarmRuleEndpoint endpoints = 40;\n * @return {!Array}\n */\nproto.ramius.AlarmCfg.prototype.getEndpointsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.AlarmRuleEndpoint, 40));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AlarmCfg} returns this\n*/\nproto.ramius.AlarmCfg.prototype.setEndpointsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 40, value);\n};\n\n\n/**\n * @param {!proto.ramius.AlarmRuleEndpoint=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.AlarmRuleEndpoint}\n */\nproto.ramius.AlarmCfg.prototype.addEndpoints = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 40, opt_value, proto.ramius.AlarmRuleEndpoint, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AlarmCfg} returns this\n */\nproto.ramius.AlarmCfg.prototype.clearEndpointsList = function() {\n return this.setEndpointsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OriginAsnViolation.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OriginAsnViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OriginAsnViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OriginAsnViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OriginAsnViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n maxIpv4PrefixLength: jspb.Message.getFieldWithDefault(msg, 2, 0),\n maxIpv6PrefixLength: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OriginAsnViolation}\n */\nproto.ramius.OriginAsnViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OriginAsnViolation;\n return proto.ramius.OriginAsnViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OriginAsnViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OriginAsnViolation}\n */\nproto.ramius.OriginAsnViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv4PrefixLength(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv6PrefixLength(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OriginAsnViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OriginAsnViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OriginAsnViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OriginAsnViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n f = message.getMaxIpv4PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getMaxIpv6PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 origin_asns = 1;\n * @return {!Array}\n */\nproto.ramius.OriginAsnViolation.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OriginAsnViolation} returns this\n */\nproto.ramius.OriginAsnViolation.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OriginAsnViolation} returns this\n */\nproto.ramius.OriginAsnViolation.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OriginAsnViolation} returns this\n */\nproto.ramius.OriginAsnViolation.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * optional uint32 max_ipv4_prefix_length = 2;\n * @return {number}\n */\nproto.ramius.OriginAsnViolation.prototype.getMaxIpv4PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OriginAsnViolation} returns this\n */\nproto.ramius.OriginAsnViolation.prototype.setMaxIpv4PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional uint32 max_ipv6_prefix_length = 3;\n * @return {number}\n */\nproto.ramius.OriginAsnViolation.prototype.getMaxIpv6PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OriginAsnViolation} returns this\n */\nproto.ramius.OriginAsnViolation.prototype.setMaxIpv6PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OriginAsnViolationMypeers.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OriginAsnViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OriginAsnViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OriginAsnViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n maxIpv4PrefixLength: jspb.Message.getFieldWithDefault(msg, 2, 0),\n maxIpv6PrefixLength: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OriginAsnViolationMypeers}\n */\nproto.ramius.OriginAsnViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OriginAsnViolationMypeers;\n return proto.ramius.OriginAsnViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OriginAsnViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OriginAsnViolationMypeers}\n */\nproto.ramius.OriginAsnViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv4PrefixLength(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv6PrefixLength(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OriginAsnViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OriginAsnViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OriginAsnViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n f = message.getMaxIpv4PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getMaxIpv6PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 origin_asns = 1;\n * @return {!Array}\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OriginAsnViolationMypeers} returns this\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OriginAsnViolationMypeers} returns this\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OriginAsnViolationMypeers} returns this\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * optional uint32 max_ipv4_prefix_length = 2;\n * @return {number}\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.getMaxIpv4PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OriginAsnViolationMypeers} returns this\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.setMaxIpv4PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional uint32 max_ipv6_prefix_length = 3;\n * @return {number}\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.getMaxIpv6PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OriginAsnViolationMypeers} returns this\n */\nproto.ramius.OriginAsnViolationMypeers.prototype.setMaxIpv6PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SubprefixViolation.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubprefixViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubprefixViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubprefixViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubprefixViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n ignoreOriginAsns: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n originAsnsUsage: jspb.Message.getFieldWithDefault(msg, 3, 0),\n maxIpv4PrefixLength: jspb.Message.getFieldWithDefault(msg, 4, 0),\n maxIpv6PrefixLength: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubprefixViolation}\n */\nproto.ramius.SubprefixViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubprefixViolation;\n return proto.ramius.SubprefixViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubprefixViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubprefixViolation}\n */\nproto.ramius.SubprefixViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIgnoreOriginAsns(value);\n break;\n case 2:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 3:\n var value = /** @type {!proto.ramius.UsageType} */ (reader.readEnum());\n msg.setOriginAsnsUsage(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv4PrefixLength(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv6PrefixLength(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubprefixViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubprefixViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubprefixViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubprefixViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIgnoreOriginAsns();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 2,\n f\n );\n }\n f = message.getOriginAsnsUsage();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getMaxIpv4PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n f = message.getMaxIpv6PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional bool ignore_origin_asns = 1;\n * @return {boolean}\n */\nproto.ramius.SubprefixViolation.prototype.getIgnoreOriginAsns = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.setIgnoreOriginAsns = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * repeated uint32 origin_asns = 2;\n * @return {!Array}\n */\nproto.ramius.SubprefixViolation.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * optional UsageType origin_asns_usage = 3;\n * @return {!proto.ramius.UsageType}\n */\nproto.ramius.SubprefixViolation.prototype.getOriginAsnsUsage = function() {\n return /** @type {!proto.ramius.UsageType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UsageType} value\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.setOriginAsnsUsage = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional uint32 max_ipv4_prefix_length = 4;\n * @return {number}\n */\nproto.ramius.SubprefixViolation.prototype.getMaxIpv4PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.setMaxIpv4PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional uint32 max_ipv6_prefix_length = 5;\n * @return {number}\n */\nproto.ramius.SubprefixViolation.prototype.getMaxIpv6PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubprefixViolation} returns this\n */\nproto.ramius.SubprefixViolation.prototype.setMaxIpv6PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.LeftAsnViolation.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.LeftAsnViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.LeftAsnViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.LeftAsnViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.LeftAsnViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n upstreamAsnsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.LeftAsnViolation}\n */\nproto.ramius.LeftAsnViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.LeftAsnViolation;\n return proto.ramius.LeftAsnViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.LeftAsnViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.LeftAsnViolation}\n */\nproto.ramius.LeftAsnViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addUpstreamAsns(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.LeftAsnViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.LeftAsnViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.LeftAsnViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.LeftAsnViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUpstreamAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 upstream_asns = 1;\n * @return {!Array}\n */\nproto.ramius.LeftAsnViolation.prototype.getUpstreamAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.LeftAsnViolation} returns this\n */\nproto.ramius.LeftAsnViolation.prototype.setUpstreamAsnsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.LeftAsnViolation} returns this\n */\nproto.ramius.LeftAsnViolation.prototype.addUpstreamAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.LeftAsnViolation} returns this\n */\nproto.ramius.LeftAsnViolation.prototype.clearUpstreamAsnsList = function() {\n return this.setUpstreamAsnsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.LeftAsnViolationMypeers.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.LeftAsnViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.LeftAsnViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.LeftAsnViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n upstreamAsnsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.LeftAsnViolationMypeers}\n */\nproto.ramius.LeftAsnViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.LeftAsnViolationMypeers;\n return proto.ramius.LeftAsnViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.LeftAsnViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.LeftAsnViolationMypeers}\n */\nproto.ramius.LeftAsnViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addUpstreamAsns(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.LeftAsnViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.LeftAsnViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.LeftAsnViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getUpstreamAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 upstream_asns = 1;\n * @return {!Array}\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.getUpstreamAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.LeftAsnViolationMypeers} returns this\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.setUpstreamAsnsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.LeftAsnViolationMypeers} returns this\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.addUpstreamAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.LeftAsnViolationMypeers} returns this\n */\nproto.ramius.LeftAsnViolationMypeers.prototype.clearUpstreamAsnsList = function() {\n return this.setUpstreamAsnsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.WithdrawnViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.WithdrawnViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.WithdrawnViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WithdrawnViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.WithdrawnViolation}\n */\nproto.ramius.WithdrawnViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.WithdrawnViolation;\n return proto.ramius.WithdrawnViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.WithdrawnViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.WithdrawnViolation}\n */\nproto.ramius.WithdrawnViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.WithdrawnViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.WithdrawnViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.WithdrawnViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WithdrawnViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.WithdrawnViolationMyPeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.WithdrawnViolationMyPeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.WithdrawnViolationMyPeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WithdrawnViolationMyPeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.WithdrawnViolationMyPeers}\n */\nproto.ramius.WithdrawnViolationMyPeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.WithdrawnViolationMyPeers;\n return proto.ramius.WithdrawnViolationMyPeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.WithdrawnViolationMyPeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.WithdrawnViolationMyPeers}\n */\nproto.ramius.WithdrawnViolationMyPeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.WithdrawnViolationMyPeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.WithdrawnViolationMyPeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.WithdrawnViolationMyPeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WithdrawnViolationMyPeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsNewPrefixViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsNewPrefixViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsNewPrefixViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsNewPrefixViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsNewPrefixViolation}\n */\nproto.ramius.AsNewPrefixViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsNewPrefixViolation;\n return proto.ramius.AsNewPrefixViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsNewPrefixViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsNewPrefixViolation}\n */\nproto.ramius.AsNewPrefixViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsNewPrefixViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsNewPrefixViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsNewPrefixViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsNewPrefixViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixAdvertisementViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixAdvertisementViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixAdvertisementViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixAdvertisementViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixAdvertisementViolation}\n */\nproto.ramius.PrefixAdvertisementViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixAdvertisementViolation;\n return proto.ramius.PrefixAdvertisementViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixAdvertisementViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixAdvertisementViolation}\n */\nproto.ramius.PrefixAdvertisementViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixAdvertisementViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixAdvertisementViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixAdvertisementViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixAdvertisementViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixAdvertisementViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixAdvertisementViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixAdvertisementViolationMypeers}\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixAdvertisementViolationMypeers;\n return proto.ramius.PrefixAdvertisementViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixAdvertisementViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixAdvertisementViolationMypeers}\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixAdvertisementViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixAdvertisementViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixAdvertisementViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RoaViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RoaViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RoaViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RoaViolation}\n */\nproto.ramius.RoaViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RoaViolation;\n return proto.ramius.RoaViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RoaViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RoaViolation}\n */\nproto.ramius.RoaViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RoaViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RoaViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RoaViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RoaExpiryViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RoaExpiryViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RoaExpiryViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaExpiryViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n days: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RoaExpiryViolation}\n */\nproto.ramius.RoaExpiryViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RoaExpiryViolation;\n return proto.ramius.RoaExpiryViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RoaExpiryViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RoaExpiryViolation}\n */\nproto.ramius.RoaExpiryViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setDays(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RoaExpiryViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RoaExpiryViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RoaExpiryViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaExpiryViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDays();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 days = 1;\n * @return {number}\n */\nproto.ramius.RoaExpiryViolation.prototype.getDays = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.RoaExpiryViolation} returns this\n */\nproto.ramius.RoaExpiryViolation.prototype.setDays = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.NewGlobalPeerEdgeViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.NewGlobalPeerEdgeViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.NewGlobalPeerEdgeViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NewGlobalPeerEdgeViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.NewGlobalPeerEdgeViolation}\n */\nproto.ramius.NewGlobalPeerEdgeViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.NewGlobalPeerEdgeViolation;\n return proto.ramius.NewGlobalPeerEdgeViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.NewGlobalPeerEdgeViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.NewGlobalPeerEdgeViolation}\n */\nproto.ramius.NewGlobalPeerEdgeViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.NewGlobalPeerEdgeViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.NewGlobalPeerEdgeViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.NewGlobalPeerEdgeViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NewGlobalPeerEdgeViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerDownViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerDownViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerDownViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerDownViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerDownViolation}\n */\nproto.ramius.PeerDownViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerDownViolation;\n return proto.ramius.PeerDownViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerDownViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerDownViolation}\n */\nproto.ramius.PeerDownViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerDownViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerDownViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerDownViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerDownViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RoaNotFoundViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RoaNotFoundViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RoaNotFoundViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaNotFoundViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RoaNotFoundViolation}\n */\nproto.ramius.RoaNotFoundViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RoaNotFoundViolation;\n return proto.ramius.RoaNotFoundViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RoaNotFoundViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RoaNotFoundViolation}\n */\nproto.ramius.RoaNotFoundViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RoaNotFoundViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RoaNotFoundViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RoaNotFoundViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RoaNotFoundViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsPathLengthViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsPathLengthViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsPathLengthViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathLengthViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n minLength: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxLength: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsPathLengthViolation}\n */\nproto.ramius.AsPathLengthViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsPathLengthViolation;\n return proto.ramius.AsPathLengthViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsPathLengthViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsPathLengthViolation}\n */\nproto.ramius.AsPathLengthViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinLength(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxLength(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsPathLengthViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsPathLengthViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsPathLengthViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathLengthViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinLength();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 min_length = 1;\n * @return {number}\n */\nproto.ramius.AsPathLengthViolation.prototype.getMinLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsPathLengthViolation} returns this\n */\nproto.ramius.AsPathLengthViolation.prototype.setMinLength = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_length = 2;\n * @return {number}\n */\nproto.ramius.AsPathLengthViolation.prototype.getMaxLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsPathLengthViolation} returns this\n */\nproto.ramius.AsPathLengthViolation.prototype.setMaxLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AsPathLengthViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AsPathLengthViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathLengthViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n minLength: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxLength: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AsPathLengthViolationMypeers}\n */\nproto.ramius.AsPathLengthViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AsPathLengthViolationMypeers;\n return proto.ramius.AsPathLengthViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AsPathLengthViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AsPathLengthViolationMypeers}\n */\nproto.ramius.AsPathLengthViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinLength(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxLength(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AsPathLengthViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AsPathLengthViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AsPathLengthViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinLength();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 min_length = 1;\n * @return {number}\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.getMinLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsPathLengthViolationMypeers} returns this\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.setMinLength = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_length = 2;\n * @return {number}\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.getMaxLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AsPathLengthViolationMypeers} returns this\n */\nproto.ramius.AsPathLengthViolationMypeers.prototype.setMaxLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AggregateViolation.repeatedFields_ = [1,2,4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AggregateViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AggregateViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AggregateViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AggregateViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n ipv4SupernetsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n ipv6SupernetsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n ignoreOriginAsns: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n originAsnsUsage: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AggregateViolation}\n */\nproto.ramius.AggregateViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AggregateViolation;\n return proto.ramius.AggregateViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AggregateViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AggregateViolation}\n */\nproto.ramius.AggregateViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addIpv4Supernets(values[i]);\n }\n break;\n case 2:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addIpv6Supernets(values[i]);\n }\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIgnoreOriginAsns(value);\n break;\n case 4:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 5:\n var value = /** @type {!proto.ramius.UsageType} */ (reader.readEnum());\n msg.setOriginAsnsUsage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AggregateViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AggregateViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AggregateViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AggregateViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIpv4SupernetsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n f = message.getIpv6SupernetsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 2,\n f\n );\n }\n f = message.getIgnoreOriginAsns();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 4,\n f\n );\n }\n f = message.getOriginAsnsUsage();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 ipv4_supernets = 1;\n * @return {!Array}\n */\nproto.ramius.AggregateViolation.prototype.getIpv4SupernetsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.setIpv4SupernetsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.addIpv4Supernets = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.clearIpv4SupernetsList = function() {\n return this.setIpv4SupernetsList([]);\n};\n\n\n/**\n * repeated uint32 ipv6_supernets = 2;\n * @return {!Array}\n */\nproto.ramius.AggregateViolation.prototype.getIpv6SupernetsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.setIpv6SupernetsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.addIpv6Supernets = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.clearIpv6SupernetsList = function() {\n return this.setIpv6SupernetsList([]);\n};\n\n\n/**\n * optional bool ignore_origin_asns = 3;\n * @return {boolean}\n */\nproto.ramius.AggregateViolation.prototype.getIgnoreOriginAsns = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.setIgnoreOriginAsns = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * repeated uint32 origin_asns = 4;\n * @return {!Array}\n */\nproto.ramius.AggregateViolation.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * optional UsageType origin_asns_usage = 5;\n * @return {!proto.ramius.UsageType}\n */\nproto.ramius.AggregateViolation.prototype.getOriginAsnsUsage = function() {\n return /** @type {!proto.ramius.UsageType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UsageType} value\n * @return {!proto.ramius.AggregateViolation} returns this\n */\nproto.ramius.AggregateViolation.prototype.setOriginAsnsUsage = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.AggregateViolationMypeers.repeatedFields_ = [1,2,3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AggregateViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AggregateViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AggregateViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AggregateViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n ipv4SupernetsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n ipv6SupernetsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n originAsnsList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,\n originAsnsUsage: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AggregateViolationMypeers}\n */\nproto.ramius.AggregateViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AggregateViolationMypeers;\n return proto.ramius.AggregateViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AggregateViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AggregateViolationMypeers}\n */\nproto.ramius.AggregateViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addIpv4Supernets(values[i]);\n }\n break;\n case 2:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addIpv6Supernets(values[i]);\n }\n break;\n case 3:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedUint32() : [reader.readUint32()]);\n for (var i = 0; i < values.length; i++) {\n msg.addOriginAsns(values[i]);\n }\n break;\n case 4:\n var value = /** @type {!proto.ramius.UsageType} */ (reader.readEnum());\n msg.setOriginAsnsUsage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AggregateViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AggregateViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AggregateViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AggregateViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getIpv4SupernetsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 1,\n f\n );\n }\n f = message.getIpv6SupernetsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 2,\n f\n );\n }\n f = message.getOriginAsnsList();\n if (f.length > 0) {\n writer.writePackedUint32(\n 3,\n f\n );\n }\n f = message.getOriginAsnsUsage();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n};\n\n\n/**\n * repeated uint32 ipv4_supernets = 1;\n * @return {!Array}\n */\nproto.ramius.AggregateViolationMypeers.prototype.getIpv4SupernetsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.setIpv4SupernetsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.addIpv4Supernets = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.clearIpv4SupernetsList = function() {\n return this.setIpv4SupernetsList([]);\n};\n\n\n/**\n * repeated uint32 ipv6_supernets = 2;\n * @return {!Array}\n */\nproto.ramius.AggregateViolationMypeers.prototype.getIpv6SupernetsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.setIpv6SupernetsList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.addIpv6Supernets = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.clearIpv6SupernetsList = function() {\n return this.setIpv6SupernetsList([]);\n};\n\n\n/**\n * repeated uint32 origin_asns = 3;\n * @return {!Array}\n */\nproto.ramius.AggregateViolationMypeers.prototype.getOriginAsnsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.setOriginAsnsList = function(value) {\n return jspb.Message.setField(this, 3, value || []);\n};\n\n\n/**\n * @param {number} value\n * @param {number=} opt_index\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.addOriginAsns = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 3, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.clearOriginAsnsList = function() {\n return this.setOriginAsnsList([]);\n};\n\n\n/**\n * optional UsageType origin_asns_usage = 4;\n * @return {!proto.ramius.UsageType}\n */\nproto.ramius.AggregateViolationMypeers.prototype.getOriginAsnsUsage = function() {\n return /** @type {!proto.ramius.UsageType} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.UsageType} value\n * @return {!proto.ramius.AggregateViolationMypeers} returns this\n */\nproto.ramius.AggregateViolationMypeers.prototype.setOriginAsnsUsage = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PrefixCountRange.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PrefixCountRange.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PrefixCountRange} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixCountRange.toObject = function(includeInstance, msg) {\n var f, obj = {\n af: jspb.Message.getFieldWithDefault(msg, 1, 0),\n minPrefixes: jspb.Message.getFieldWithDefault(msg, 2, 0),\n maxPrefixes: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PrefixCountRange}\n */\nproto.ramius.PrefixCountRange.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PrefixCountRange;\n return proto.ramius.PrefixCountRange.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PrefixCountRange} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PrefixCountRange}\n */\nproto.ramius.PrefixCountRange.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.BgpAfi} */ (reader.readEnum());\n msg.setAf(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinPrefixes(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxPrefixes(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PrefixCountRange.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PrefixCountRange.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PrefixCountRange} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PrefixCountRange.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAf();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getMinPrefixes();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getMaxPrefixes();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional BgpAfi af = 1;\n * @return {!proto.ramius.BgpAfi}\n */\nproto.ramius.PrefixCountRange.prototype.getAf = function() {\n return /** @type {!proto.ramius.BgpAfi} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfi} value\n * @return {!proto.ramius.PrefixCountRange} returns this\n */\nproto.ramius.PrefixCountRange.prototype.setAf = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional uint32 min_prefixes = 2;\n * @return {number}\n */\nproto.ramius.PrefixCountRange.prototype.getMinPrefixes = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PrefixCountRange} returns this\n */\nproto.ramius.PrefixCountRange.prototype.setMinPrefixes = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional uint32 max_prefixes = 3;\n * @return {number}\n */\nproto.ramius.PrefixCountRange.prototype.getMaxPrefixes = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PrefixCountRange} returns this\n */\nproto.ramius.PrefixCountRange.prototype.setMaxPrefixes = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerAdvertisedPrefixCountViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerAdvertisedPrefixCountViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n maxIpv4PrefixLength: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxIpv6PrefixLength: jspb.Message.getFieldWithDefault(msg, 2, 0),\n prefixCountRangesList: jspb.Message.toObjectList(msg.getPrefixCountRangesList(),\n proto.ramius.PrefixCountRange.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerAdvertisedPrefixCountViolation;\n return proto.ramius.PeerAdvertisedPrefixCountViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerAdvertisedPrefixCountViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv4PrefixLength(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxIpv6PrefixLength(value);\n break;\n case 3:\n var value = new proto.ramius.PrefixCountRange;\n reader.readMessage(value,proto.ramius.PrefixCountRange.deserializeBinaryFromReader);\n msg.addPrefixCountRanges(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerAdvertisedPrefixCountViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerAdvertisedPrefixCountViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMaxIpv4PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxIpv6PrefixLength();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n f = message.getPrefixCountRangesList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.PrefixCountRange.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional uint32 max_ipv4_prefix_length = 1;\n * @return {number}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.getMaxIpv4PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation} returns this\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.setMaxIpv4PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_ipv6_prefix_length = 2;\n * @return {number}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.getMaxIpv6PrefixLength = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation} returns this\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.setMaxIpv6PrefixLength = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * repeated PrefixCountRange prefix_count_ranges = 3;\n * @return {!Array}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.getPrefixCountRangesList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PrefixCountRange, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation} returns this\n*/\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.setPrefixCountRangesList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.PrefixCountRange=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PrefixCountRange}\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.addPrefixCountRanges = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.PrefixCountRange, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerAdvertisedPrefixCountViolation} returns this\n */\nproto.ramius.PeerAdvertisedPrefixCountViolation.prototype.clearPrefixCountRangesList = function() {\n return this.setPrefixCountRangesList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerRootDnsWithdrawnViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerRootDnsWithdrawnViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n excludedPrefixesList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerRootDnsWithdrawnViolation}\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerRootDnsWithdrawnViolation;\n return proto.ramius.PeerRootDnsWithdrawnViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerRootDnsWithdrawnViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerRootDnsWithdrawnViolation}\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addExcludedPrefixes(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerRootDnsWithdrawnViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerRootDnsWithdrawnViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getExcludedPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string excluded_prefixes = 1;\n * @return {!Array}\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.getExcludedPrefixesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerRootDnsWithdrawnViolation} returns this\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.setExcludedPrefixesList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeerRootDnsWithdrawnViolation} returns this\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.addExcludedPrefixes = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerRootDnsWithdrawnViolation} returns this\n */\nproto.ramius.PeerRootDnsWithdrawnViolation.prototype.clearExcludedPrefixesList = function() {\n return this.setExcludedPrefixesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ValidAsPathViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ValidAsPathViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ValidAsPathViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidAsPathViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n validAsPathExpression: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ValidAsPathViolation}\n */\nproto.ramius.ValidAsPathViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ValidAsPathViolation;\n return proto.ramius.ValidAsPathViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ValidAsPathViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ValidAsPathViolation}\n */\nproto.ramius.ValidAsPathViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setValidAsPathExpression(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ValidAsPathViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ValidAsPathViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ValidAsPathViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidAsPathViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getValidAsPathExpression();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string valid_as_path_expression = 1;\n * @return {string}\n */\nproto.ramius.ValidAsPathViolation.prototype.getValidAsPathExpression = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ValidAsPathViolation} returns this\n */\nproto.ramius.ValidAsPathViolation.prototype.setValidAsPathExpression = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ValidAsPathViolationMypeers.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ValidAsPathViolationMypeers.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ValidAsPathViolationMypeers} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidAsPathViolationMypeers.toObject = function(includeInstance, msg) {\n var f, obj = {\n validAsPathExpression: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ValidAsPathViolationMypeers}\n */\nproto.ramius.ValidAsPathViolationMypeers.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ValidAsPathViolationMypeers;\n return proto.ramius.ValidAsPathViolationMypeers.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ValidAsPathViolationMypeers} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ValidAsPathViolationMypeers}\n */\nproto.ramius.ValidAsPathViolationMypeers.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setValidAsPathExpression(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ValidAsPathViolationMypeers.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ValidAsPathViolationMypeers.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ValidAsPathViolationMypeers} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ValidAsPathViolationMypeers.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getValidAsPathExpression();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string valid_as_path_expression = 1;\n * @return {string}\n */\nproto.ramius.ValidAsPathViolationMypeers.prototype.getValidAsPathExpression = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ValidAsPathViolationMypeers} returns this\n */\nproto.ramius.ValidAsPathViolationMypeers.prototype.setValidAsPathExpression = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ProhibitedIpPrefixViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ProhibitedIpPrefixViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ProhibitedIpPrefixViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProhibitedIpPrefixViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n bogonOnly: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ProhibitedIpPrefixViolation}\n */\nproto.ramius.ProhibitedIpPrefixViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ProhibitedIpPrefixViolation;\n return proto.ramius.ProhibitedIpPrefixViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ProhibitedIpPrefixViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ProhibitedIpPrefixViolation}\n */\nproto.ramius.ProhibitedIpPrefixViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setBogonOnly(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ProhibitedIpPrefixViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ProhibitedIpPrefixViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ProhibitedIpPrefixViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ProhibitedIpPrefixViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getBogonOnly();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional bool bogon_only = 1;\n * @return {boolean}\n */\nproto.ramius.ProhibitedIpPrefixViolation.prototype.getBogonOnly = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.ProhibitedIpPrefixViolation} returns this\n */\nproto.ramius.ProhibitedIpPrefixViolation.prototype.setBogonOnly = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TelemetryHighCpuUsage.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TelemetryHighCpuUsage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TelemetryHighCpuUsage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TelemetryHighCpuUsage.toObject = function(includeInstance, msg) {\n var f, obj = {\n threshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TelemetryHighCpuUsage}\n */\nproto.ramius.TelemetryHighCpuUsage.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TelemetryHighCpuUsage;\n return proto.ramius.TelemetryHighCpuUsage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TelemetryHighCpuUsage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TelemetryHighCpuUsage}\n */\nproto.ramius.TelemetryHighCpuUsage.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TelemetryHighCpuUsage.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TelemetryHighCpuUsage.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TelemetryHighCpuUsage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TelemetryHighCpuUsage.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 threshold = 1;\n * @return {number}\n */\nproto.ramius.TelemetryHighCpuUsage.prototype.getThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TelemetryHighCpuUsage} returns this\n */\nproto.ramius.TelemetryHighCpuUsage.prototype.setThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TelemetryHighMemoryUsage.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TelemetryHighMemoryUsage.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TelemetryHighMemoryUsage} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TelemetryHighMemoryUsage.toObject = function(includeInstance, msg) {\n var f, obj = {\n threshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TelemetryHighMemoryUsage}\n */\nproto.ramius.TelemetryHighMemoryUsage.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TelemetryHighMemoryUsage;\n return proto.ramius.TelemetryHighMemoryUsage.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TelemetryHighMemoryUsage} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TelemetryHighMemoryUsage}\n */\nproto.ramius.TelemetryHighMemoryUsage.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TelemetryHighMemoryUsage.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TelemetryHighMemoryUsage.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TelemetryHighMemoryUsage} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TelemetryHighMemoryUsage.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 threshold = 1;\n * @return {number}\n */\nproto.ramius.TelemetryHighMemoryUsage.prototype.getThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TelemetryHighMemoryUsage} returns this\n */\nproto.ramius.TelemetryHighMemoryUsage.prototype.setThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TrustUnknownFilesFound.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TrustUnknownFilesFound.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TrustUnknownFilesFound} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TrustUnknownFilesFound.toObject = function(includeInstance, msg) {\n var f, obj = {\n fileThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TrustUnknownFilesFound}\n */\nproto.ramius.TrustUnknownFilesFound.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TrustUnknownFilesFound;\n return proto.ramius.TrustUnknownFilesFound.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TrustUnknownFilesFound} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TrustUnknownFilesFound}\n */\nproto.ramius.TrustUnknownFilesFound.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setFileThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TrustUnknownFilesFound.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TrustUnknownFilesFound.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TrustUnknownFilesFound} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TrustUnknownFilesFound.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFileThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 file_threshold = 1;\n * @return {number}\n */\nproto.ramius.TrustUnknownFilesFound.prototype.getFileThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TrustUnknownFilesFound} returns this\n */\nproto.ramius.TrustUnknownFilesFound.prototype.setFileThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TrustMismatchedFilesFound.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TrustMismatchedFilesFound.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TrustMismatchedFilesFound} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TrustMismatchedFilesFound.toObject = function(includeInstance, msg) {\n var f, obj = {\n fileThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TrustMismatchedFilesFound}\n */\nproto.ramius.TrustMismatchedFilesFound.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TrustMismatchedFilesFound;\n return proto.ramius.TrustMismatchedFilesFound.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TrustMismatchedFilesFound} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TrustMismatchedFilesFound}\n */\nproto.ramius.TrustMismatchedFilesFound.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setFileThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TrustMismatchedFilesFound.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TrustMismatchedFilesFound.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TrustMismatchedFilesFound} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TrustMismatchedFilesFound.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFileThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 file_threshold = 1;\n * @return {number}\n */\nproto.ramius.TrustMismatchedFilesFound.prototype.getFileThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.TrustMismatchedFilesFound} returns this\n */\nproto.ramius.TrustMismatchedFilesFound.prototype.setFileThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceHardwareIntegrity.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceHardwareIntegrity.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceHardwareIntegrity} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceHardwareIntegrity.toObject = function(includeInstance, msg) {\n var f, obj = {\n threshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceHardwareIntegrity}\n */\nproto.ramius.DeviceHardwareIntegrity.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceHardwareIntegrity;\n return proto.ramius.DeviceHardwareIntegrity.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceHardwareIntegrity} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceHardwareIntegrity}\n */\nproto.ramius.DeviceHardwareIntegrity.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceHardwareIntegrity.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceHardwareIntegrity.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceHardwareIntegrity} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceHardwareIntegrity.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 threshold = 1;\n * @return {number}\n */\nproto.ramius.DeviceHardwareIntegrity.prototype.getThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceHardwareIntegrity} returns this\n */\nproto.ramius.DeviceHardwareIntegrity.prototype.setThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceSoftwareIntegrity.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceSoftwareIntegrity.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceSoftwareIntegrity} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSoftwareIntegrity.toObject = function(includeInstance, msg) {\n var f, obj = {\n threshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceSoftwareIntegrity}\n */\nproto.ramius.DeviceSoftwareIntegrity.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceSoftwareIntegrity;\n return proto.ramius.DeviceSoftwareIntegrity.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceSoftwareIntegrity} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceSoftwareIntegrity}\n */\nproto.ramius.DeviceSoftwareIntegrity.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceSoftwareIntegrity.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceSoftwareIntegrity.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceSoftwareIntegrity} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSoftwareIntegrity.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 threshold = 1;\n * @return {number}\n */\nproto.ramius.DeviceSoftwareIntegrity.prototype.getThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceSoftwareIntegrity} returns this\n */\nproto.ramius.DeviceSoftwareIntegrity.prototype.setThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceConnectivityChange.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceConnectivityChange.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceConnectivityChange} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceConnectivityChange.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceConnectivityChange}\n */\nproto.ramius.DeviceConnectivityChange.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceConnectivityChange;\n return proto.ramius.DeviceConnectivityChange.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceConnectivityChange} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceConnectivityChange}\n */\nproto.ramius.DeviceConnectivityChange.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceConnectivityChange.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceConnectivityChange.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceConnectivityChange} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceConnectivityChange.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GatewayConnectivityChange.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GatewayConnectivityChange.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GatewayConnectivityChange} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GatewayConnectivityChange.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GatewayConnectivityChange}\n */\nproto.ramius.GatewayConnectivityChange.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GatewayConnectivityChange;\n return proto.ramius.GatewayConnectivityChange.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GatewayConnectivityChange} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GatewayConnectivityChange}\n */\nproto.ramius.GatewayConnectivityChange.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GatewayConnectivityChange.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GatewayConnectivityChange.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GatewayConnectivityChange} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GatewayConnectivityChange.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.InterfaceJumboPrefixAlarm.repeatedFields_ = [2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InterfaceJumboPrefixAlarm.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InterfaceJumboPrefixAlarm} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceJumboPrefixAlarm.toObject = function(includeInstance, msg) {\n var f, obj = {\n maxTxThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0),\n prefixesList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InterfaceJumboPrefixAlarm;\n return proto.ramius.InterfaceJumboPrefixAlarm.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InterfaceJumboPrefixAlarm} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxTxThreshold(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addPrefixes(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InterfaceJumboPrefixAlarm.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InterfaceJumboPrefixAlarm} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceJumboPrefixAlarm.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMaxTxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getPrefixesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 max_tx_threshold = 1;\n * @return {number}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.getMaxTxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm} returns this\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.setMaxTxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * repeated string prefixes = 2;\n * @return {!Array}\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.getPrefixesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm} returns this\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.setPrefixesList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm} returns this\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.addPrefixes = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.InterfaceJumboPrefixAlarm} returns this\n */\nproto.ramius.InterfaceJumboPrefixAlarm.prototype.clearPrefixesList = function() {\n return this.setPrefixesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InterfaceThresholdRxAlarm.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InterfaceThresholdRxAlarm} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceThresholdRxAlarm.toObject = function(includeInstance, msg) {\n var f, obj = {\n minRxThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxRxThreshold: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InterfaceThresholdRxAlarm}\n */\nproto.ramius.InterfaceThresholdRxAlarm.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InterfaceThresholdRxAlarm;\n return proto.ramius.InterfaceThresholdRxAlarm.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InterfaceThresholdRxAlarm} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InterfaceThresholdRxAlarm}\n */\nproto.ramius.InterfaceThresholdRxAlarm.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinRxThreshold(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxRxThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InterfaceThresholdRxAlarm.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InterfaceThresholdRxAlarm} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceThresholdRxAlarm.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinRxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxRxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 min_rx_threshold = 1;\n * @return {number}\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.getMinRxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InterfaceThresholdRxAlarm} returns this\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.setMinRxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_rx_threshold = 2;\n * @return {number}\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.getMaxRxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InterfaceThresholdRxAlarm} returns this\n */\nproto.ramius.InterfaceThresholdRxAlarm.prototype.setMaxRxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InterfaceThresholdTxAlarm.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InterfaceThresholdTxAlarm} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceThresholdTxAlarm.toObject = function(includeInstance, msg) {\n var f, obj = {\n minTxThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0),\n maxTxThreshold: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InterfaceThresholdTxAlarm}\n */\nproto.ramius.InterfaceThresholdTxAlarm.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InterfaceThresholdTxAlarm;\n return proto.ramius.InterfaceThresholdTxAlarm.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InterfaceThresholdTxAlarm} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InterfaceThresholdTxAlarm}\n */\nproto.ramius.InterfaceThresholdTxAlarm.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMinTxThreshold(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setMaxTxThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InterfaceThresholdTxAlarm.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InterfaceThresholdTxAlarm} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceThresholdTxAlarm.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMinTxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n f = message.getMaxTxThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 min_tx_threshold = 1;\n * @return {number}\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.getMinTxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InterfaceThresholdTxAlarm} returns this\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.setMinTxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional uint32 max_tx_threshold = 2;\n * @return {number}\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.getMaxTxThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.InterfaceThresholdTxAlarm} returns this\n */\nproto.ramius.InterfaceThresholdTxAlarm.prototype.setMaxTxThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceDossierCollectionFailure.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceDossierCollectionFailure.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceDossierCollectionFailure} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceDossierCollectionFailure.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceDossierCollectionFailure}\n */\nproto.ramius.DeviceDossierCollectionFailure.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceDossierCollectionFailure;\n return proto.ramius.DeviceDossierCollectionFailure.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceDossierCollectionFailure} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceDossierCollectionFailure}\n */\nproto.ramius.DeviceDossierCollectionFailure.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceDossierCollectionFailure.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceDossierCollectionFailure.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceDossierCollectionFailure} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceDossierCollectionFailure.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceEnrollmentCertExpiration.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceEnrollmentCertExpiration.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceEnrollmentCertExpiration} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertExpiration.toObject = function(includeInstance, msg) {\n var f, obj = {\n dayThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceEnrollmentCertExpiration}\n */\nproto.ramius.DeviceEnrollmentCertExpiration.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceEnrollmentCertExpiration;\n return proto.ramius.DeviceEnrollmentCertExpiration.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceEnrollmentCertExpiration} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceEnrollmentCertExpiration}\n */\nproto.ramius.DeviceEnrollmentCertExpiration.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setDayThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceEnrollmentCertExpiration.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceEnrollmentCertExpiration.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceEnrollmentCertExpiration} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertExpiration.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDayThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 day_threshold = 1;\n * @return {number}\n */\nproto.ramius.DeviceEnrollmentCertExpiration.prototype.getDayThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceEnrollmentCertExpiration} returns this\n */\nproto.ramius.DeviceEnrollmentCertExpiration.prototype.setDayThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceEnrollmentCertImminentExpiry.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceEnrollmentCertImminentExpiry} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.toObject = function(includeInstance, msg) {\n var f, obj = {\n dayThreshold: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceEnrollmentCertImminentExpiry}\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceEnrollmentCertImminentExpiry;\n return proto.ramius.DeviceEnrollmentCertImminentExpiry.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceEnrollmentCertImminentExpiry} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceEnrollmentCertImminentExpiry}\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setDayThreshold(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceEnrollmentCertImminentExpiry.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceEnrollmentCertImminentExpiry} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDayThreshold();\n if (f !== 0) {\n writer.writeUint32(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional uint32 day_threshold = 1;\n * @return {number}\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.prototype.getDayThreshold = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.DeviceEnrollmentCertImminentExpiry} returns this\n */\nproto.ramius.DeviceEnrollmentCertImminentExpiry.prototype.setDayThreshold = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceEnrollmentCertViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceEnrollmentCertViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceEnrollmentCertViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceEnrollmentCertViolation}\n */\nproto.ramius.DeviceEnrollmentCertViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceEnrollmentCertViolation;\n return proto.ramius.DeviceEnrollmentCertViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceEnrollmentCertViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceEnrollmentCertViolation}\n */\nproto.ramius.DeviceEnrollmentCertViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceEnrollmentCertViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceEnrollmentCertViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceEnrollmentCertViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceEnrollmentCertViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceSshHostKeyViolation.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceSshHostKeyViolation.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceSshHostKeyViolation} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSshHostKeyViolation.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceSshHostKeyViolation}\n */\nproto.ramius.DeviceSshHostKeyViolation.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceSshHostKeyViolation;\n return proto.ramius.DeviceSshHostKeyViolation.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceSshHostKeyViolation} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceSshHostKeyViolation}\n */\nproto.ramius.DeviceSshHostKeyViolation.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceSshHostKeyViolation.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceSshHostKeyViolation.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceSshHostKeyViolation} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceSshHostKeyViolation.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.DeviceRunningConfigChange.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.DeviceRunningConfigChange.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.DeviceRunningConfigChange} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceRunningConfigChange.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.DeviceRunningConfigChange}\n */\nproto.ramius.DeviceRunningConfigChange.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.DeviceRunningConfigChange;\n return proto.ramius.DeviceRunningConfigChange.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.DeviceRunningConfigChange} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.DeviceRunningConfigChange}\n */\nproto.ramius.DeviceRunningConfigChange.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.DeviceRunningConfigChange.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.DeviceRunningConfigChange.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.DeviceRunningConfigChange} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.DeviceRunningConfigChange.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.NotificationEndpoint.oneofGroups_ = [[6,7,8,20,21,22,23,25,26]];\n\n/**\n * @enum {number}\n */\nproto.ramius.NotificationEndpoint.EndpointTypeCase = {\n ENDPOINT_TYPE_NOT_SET: 0,\n EMAIL: 6,\n SMS: 7,\n S3: 8,\n SLACK: 20,\n WEBEX_TEAMS: 21,\n TEST: 22,\n MICROSOFT_TEAMS: 23,\n PAGER_DUTY: 25,\n GOOGLE_STORAGE: 26\n};\n\n/**\n * @return {proto.ramius.NotificationEndpoint.EndpointTypeCase}\n */\nproto.ramius.NotificationEndpoint.prototype.getEndpointTypeCase = function() {\n return /** @type {proto.ramius.NotificationEndpoint.EndpointTypeCase} */(jspb.Message.computeOneofCase(this, proto.ramius.NotificationEndpoint.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.NotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.NotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.NotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n euuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n status: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n email: (f = msg.getEmail()) && proto.ramius.EmailNotificationEndpoint.toObject(includeInstance, f),\n sms: (f = msg.getSms()) && proto.ramius.SmsNotificationEndpoint.toObject(includeInstance, f),\n s3: (f = msg.getS3()) && proto.ramius.S3NotificationEndpoint.toObject(includeInstance, f),\n slack: (f = msg.getSlack()) && proto.ramius.SlackNotificationEndpoint.toObject(includeInstance, f),\n webexTeams: (f = msg.getWebexTeams()) && proto.ramius.WebExNotificationEndpoint.toObject(includeInstance, f),\n test: (f = msg.getTest()) && proto.ramius.TestNotificationEndpoint.toObject(includeInstance, f),\n microsoftTeams: (f = msg.getMicrosoftTeams()) && proto.ramius.MicrosoftTeamsNotificationEndpoint.toObject(includeInstance, f),\n pagerDuty: (f = msg.getPagerDuty()) && proto.ramius.PagerDutyNotificationEndpoint.toObject(includeInstance, f),\n googleStorage: (f = msg.getGoogleStorage()) && proto.ramius.GoogleStorageNotificationEndpoint.toObject(includeInstance, f),\n confirmationCode: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n enabled: jspb.Message.getBooleanFieldWithDefault(msg, 10, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.NotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.NotificationEndpoint;\n return proto.ramius.NotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.NotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.NotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setEuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setStatus(value);\n break;\n case 6:\n var value = new proto.ramius.EmailNotificationEndpoint;\n reader.readMessage(value,proto.ramius.EmailNotificationEndpoint.deserializeBinaryFromReader);\n msg.setEmail(value);\n break;\n case 7:\n var value = new proto.ramius.SmsNotificationEndpoint;\n reader.readMessage(value,proto.ramius.SmsNotificationEndpoint.deserializeBinaryFromReader);\n msg.setSms(value);\n break;\n case 8:\n var value = new proto.ramius.S3NotificationEndpoint;\n reader.readMessage(value,proto.ramius.S3NotificationEndpoint.deserializeBinaryFromReader);\n msg.setS3(value);\n break;\n case 20:\n var value = new proto.ramius.SlackNotificationEndpoint;\n reader.readMessage(value,proto.ramius.SlackNotificationEndpoint.deserializeBinaryFromReader);\n msg.setSlack(value);\n break;\n case 21:\n var value = new proto.ramius.WebExNotificationEndpoint;\n reader.readMessage(value,proto.ramius.WebExNotificationEndpoint.deserializeBinaryFromReader);\n msg.setWebexTeams(value);\n break;\n case 22:\n var value = new proto.ramius.TestNotificationEndpoint;\n reader.readMessage(value,proto.ramius.TestNotificationEndpoint.deserializeBinaryFromReader);\n msg.setTest(value);\n break;\n case 23:\n var value = new proto.ramius.MicrosoftTeamsNotificationEndpoint;\n reader.readMessage(value,proto.ramius.MicrosoftTeamsNotificationEndpoint.deserializeBinaryFromReader);\n msg.setMicrosoftTeams(value);\n break;\n case 25:\n var value = new proto.ramius.PagerDutyNotificationEndpoint;\n reader.readMessage(value,proto.ramius.PagerDutyNotificationEndpoint.deserializeBinaryFromReader);\n msg.setPagerDuty(value);\n break;\n case 26:\n var value = new proto.ramius.GoogleStorageNotificationEndpoint;\n reader.readMessage(value,proto.ramius.GoogleStorageNotificationEndpoint.deserializeBinaryFromReader);\n msg.setGoogleStorage(value);\n break;\n case 9:\n var value = /** @type {string} */ (reader.readString());\n msg.setConfirmationCode(value);\n break;\n case 10:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setEnabled(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.NotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.NotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.NotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getEuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getStatus();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getEmail();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n proto.ramius.EmailNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getSms();\n if (f != null) {\n writer.writeMessage(\n 7,\n f,\n proto.ramius.SmsNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getS3();\n if (f != null) {\n writer.writeMessage(\n 8,\n f,\n proto.ramius.S3NotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getSlack();\n if (f != null) {\n writer.writeMessage(\n 20,\n f,\n proto.ramius.SlackNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getWebexTeams();\n if (f != null) {\n writer.writeMessage(\n 21,\n f,\n proto.ramius.WebExNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getTest();\n if (f != null) {\n writer.writeMessage(\n 22,\n f,\n proto.ramius.TestNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getMicrosoftTeams();\n if (f != null) {\n writer.writeMessage(\n 23,\n f,\n proto.ramius.MicrosoftTeamsNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getPagerDuty();\n if (f != null) {\n writer.writeMessage(\n 25,\n f,\n proto.ramius.PagerDutyNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getGoogleStorage();\n if (f != null) {\n writer.writeMessage(\n 26,\n f,\n proto.ramius.GoogleStorageNotificationEndpoint.serializeBinaryToWriter\n );\n }\n f = message.getConfirmationCode();\n if (f.length > 0) {\n writer.writeString(\n 9,\n f\n );\n }\n f = message.getEnabled();\n if (f) {\n writer.writeBool(\n 10,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.NotificationEndpoint.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string euuid = 2;\n * @return {string}\n */\nproto.ramius.NotificationEndpoint.prototype.getEuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.setEuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.NotificationEndpoint.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional bool status = 5;\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.getStatus = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.setStatus = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional EmailNotificationEndpoint email = 6;\n * @return {?proto.ramius.EmailNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getEmail = function() {\n return /** @type{?proto.ramius.EmailNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.EmailNotificationEndpoint, 6));\n};\n\n\n/**\n * @param {?proto.ramius.EmailNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setEmail = function(value) {\n return jspb.Message.setOneofWrapperField(this, 6, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearEmail = function() {\n return this.setEmail(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasEmail = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n/**\n * optional SmsNotificationEndpoint sms = 7;\n * @return {?proto.ramius.SmsNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getSms = function() {\n return /** @type{?proto.ramius.SmsNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SmsNotificationEndpoint, 7));\n};\n\n\n/**\n * @param {?proto.ramius.SmsNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setSms = function(value) {\n return jspb.Message.setOneofWrapperField(this, 7, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearSms = function() {\n return this.setSms(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasSms = function() {\n return jspb.Message.getField(this, 7) != null;\n};\n\n\n/**\n * optional S3NotificationEndpoint s3 = 8;\n * @return {?proto.ramius.S3NotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getS3 = function() {\n return /** @type{?proto.ramius.S3NotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.S3NotificationEndpoint, 8));\n};\n\n\n/**\n * @param {?proto.ramius.S3NotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setS3 = function(value) {\n return jspb.Message.setOneofWrapperField(this, 8, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearS3 = function() {\n return this.setS3(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasS3 = function() {\n return jspb.Message.getField(this, 8) != null;\n};\n\n\n/**\n * optional SlackNotificationEndpoint slack = 20;\n * @return {?proto.ramius.SlackNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getSlack = function() {\n return /** @type{?proto.ramius.SlackNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SlackNotificationEndpoint, 20));\n};\n\n\n/**\n * @param {?proto.ramius.SlackNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setSlack = function(value) {\n return jspb.Message.setOneofWrapperField(this, 20, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearSlack = function() {\n return this.setSlack(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasSlack = function() {\n return jspb.Message.getField(this, 20) != null;\n};\n\n\n/**\n * optional WebExNotificationEndpoint webex_teams = 21;\n * @return {?proto.ramius.WebExNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getWebexTeams = function() {\n return /** @type{?proto.ramius.WebExNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.WebExNotificationEndpoint, 21));\n};\n\n\n/**\n * @param {?proto.ramius.WebExNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setWebexTeams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 21, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearWebexTeams = function() {\n return this.setWebexTeams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasWebexTeams = function() {\n return jspb.Message.getField(this, 21) != null;\n};\n\n\n/**\n * optional TestNotificationEndpoint test = 22;\n * @return {?proto.ramius.TestNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getTest = function() {\n return /** @type{?proto.ramius.TestNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.TestNotificationEndpoint, 22));\n};\n\n\n/**\n * @param {?proto.ramius.TestNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setTest = function(value) {\n return jspb.Message.setOneofWrapperField(this, 22, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearTest = function() {\n return this.setTest(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasTest = function() {\n return jspb.Message.getField(this, 22) != null;\n};\n\n\n/**\n * optional MicrosoftTeamsNotificationEndpoint microsoft_teams = 23;\n * @return {?proto.ramius.MicrosoftTeamsNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getMicrosoftTeams = function() {\n return /** @type{?proto.ramius.MicrosoftTeamsNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.MicrosoftTeamsNotificationEndpoint, 23));\n};\n\n\n/**\n * @param {?proto.ramius.MicrosoftTeamsNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setMicrosoftTeams = function(value) {\n return jspb.Message.setOneofWrapperField(this, 23, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearMicrosoftTeams = function() {\n return this.setMicrosoftTeams(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasMicrosoftTeams = function() {\n return jspb.Message.getField(this, 23) != null;\n};\n\n\n/**\n * optional PagerDutyNotificationEndpoint pager_duty = 25;\n * @return {?proto.ramius.PagerDutyNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getPagerDuty = function() {\n return /** @type{?proto.ramius.PagerDutyNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PagerDutyNotificationEndpoint, 25));\n};\n\n\n/**\n * @param {?proto.ramius.PagerDutyNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setPagerDuty = function(value) {\n return jspb.Message.setOneofWrapperField(this, 25, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearPagerDuty = function() {\n return this.setPagerDuty(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasPagerDuty = function() {\n return jspb.Message.getField(this, 25) != null;\n};\n\n\n/**\n * optional GoogleStorageNotificationEndpoint google_storage = 26;\n * @return {?proto.ramius.GoogleStorageNotificationEndpoint}\n */\nproto.ramius.NotificationEndpoint.prototype.getGoogleStorage = function() {\n return /** @type{?proto.ramius.GoogleStorageNotificationEndpoint} */ (\n jspb.Message.getWrapperField(this, proto.ramius.GoogleStorageNotificationEndpoint, 26));\n};\n\n\n/**\n * @param {?proto.ramius.GoogleStorageNotificationEndpoint|undefined} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n*/\nproto.ramius.NotificationEndpoint.prototype.setGoogleStorage = function(value) {\n return jspb.Message.setOneofWrapperField(this, 26, proto.ramius.NotificationEndpoint.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.clearGoogleStorage = function() {\n return this.setGoogleStorage(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.hasGoogleStorage = function() {\n return jspb.Message.getField(this, 26) != null;\n};\n\n\n/**\n * optional string confirmation_code = 9;\n * @return {string}\n */\nproto.ramius.NotificationEndpoint.prototype.getConfirmationCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.setConfirmationCode = function(value) {\n return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional bool enabled = 10;\n * @return {boolean}\n */\nproto.ramius.NotificationEndpoint.prototype.getEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.NotificationEndpoint} returns this\n */\nproto.ramius.NotificationEndpoint.prototype.setEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 10, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.EmailNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.EmailNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.EmailNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EmailNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n email: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.EmailNotificationEndpoint}\n */\nproto.ramius.EmailNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.EmailNotificationEndpoint;\n return proto.ramius.EmailNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.EmailNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.EmailNotificationEndpoint}\n */\nproto.ramius.EmailNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setEmail(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.EmailNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.EmailNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.EmailNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.EmailNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getEmail();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string email = 1;\n * @return {string}\n */\nproto.ramius.EmailNotificationEndpoint.prototype.getEmail = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.EmailNotificationEndpoint} returns this\n */\nproto.ramius.EmailNotificationEndpoint.prototype.setEmail = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SmsNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SmsNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SmsNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SmsNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n countryCode: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n phoneNumber: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SmsNotificationEndpoint}\n */\nproto.ramius.SmsNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SmsNotificationEndpoint;\n return proto.ramius.SmsNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SmsNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SmsNotificationEndpoint}\n */\nproto.ramius.SmsNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountryCode(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPhoneNumber(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SmsNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SmsNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SmsNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SmsNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCountryCode();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPhoneNumber();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string country_code = 1;\n * @return {string}\n */\nproto.ramius.SmsNotificationEndpoint.prototype.getCountryCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SmsNotificationEndpoint} returns this\n */\nproto.ramius.SmsNotificationEndpoint.prototype.setCountryCode = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string phone_number = 2;\n * @return {string}\n */\nproto.ramius.SmsNotificationEndpoint.prototype.getPhoneNumber = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SmsNotificationEndpoint} returns this\n */\nproto.ramius.SmsNotificationEndpoint.prototype.setPhoneNumber = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.S3NotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.S3NotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.S3NotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.S3NotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n fqdn: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n port: jspb.Message.getFieldWithDefault(msg, 2, 0),\n region: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n bucketName: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n rootPath: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n accessKeyId: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n secretAccessKey: jspb.Message.getFieldWithDefault(msg, 7, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.S3NotificationEndpoint}\n */\nproto.ramius.S3NotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.S3NotificationEndpoint;\n return proto.ramius.S3NotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.S3NotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.S3NotificationEndpoint}\n */\nproto.ramius.S3NotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setFqdn(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setPort(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRegion(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setBucketName(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setRootPath(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setAccessKeyId(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setSecretAccessKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.S3NotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.S3NotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.S3NotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.S3NotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFqdn();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getPort();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getRegion();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getBucketName();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getRootPath();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getAccessKeyId();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getSecretAccessKey();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n};\n\n\n/**\n * optional string fqdn = 1;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getFqdn = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setFqdn = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int32 port = 2;\n * @return {number}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getPort = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setPort = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional string region = 3;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getRegion = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setRegion = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string bucket_name = 4;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getBucketName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setBucketName = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string root_path = 5;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getRootPath = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setRootPath = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string access_key_id = 6;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getAccessKeyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setAccessKeyId = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string secret_access_key = 7;\n * @return {string}\n */\nproto.ramius.S3NotificationEndpoint.prototype.getSecretAccessKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.S3NotificationEndpoint} returns this\n */\nproto.ramius.S3NotificationEndpoint.prototype.setSecretAccessKey = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GoogleStorageNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GoogleStorageNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GoogleStorageNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n svcAccountKeyBase64: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n bucketName: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n rootPath: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GoogleStorageNotificationEndpoint}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GoogleStorageNotificationEndpoint;\n return proto.ramius.GoogleStorageNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GoogleStorageNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GoogleStorageNotificationEndpoint}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSvcAccountKeyBase64(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setBucketName(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRootPath(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GoogleStorageNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GoogleStorageNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GoogleStorageNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSvcAccountKeyBase64();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getBucketName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRootPath();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string svc_account_key_base64 = 1;\n * @return {string}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.getSvcAccountKeyBase64 = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageNotificationEndpoint} returns this\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.setSvcAccountKeyBase64 = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string bucket_name = 2;\n * @return {string}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.getBucketName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageNotificationEndpoint} returns this\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.setBucketName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string root_path = 3;\n * @return {string}\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.getRootPath = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GoogleStorageNotificationEndpoint} returns this\n */\nproto.ramius.GoogleStorageNotificationEndpoint.prototype.setRootPath = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SlackNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SlackNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SlackNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SlackNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n slackWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SlackNotificationEndpoint}\n */\nproto.ramius.SlackNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SlackNotificationEndpoint;\n return proto.ramius.SlackNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SlackNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SlackNotificationEndpoint}\n */\nproto.ramius.SlackNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSlackWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SlackNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SlackNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SlackNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SlackNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSlackWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string slack_webhook = 1;\n * @return {string}\n */\nproto.ramius.SlackNotificationEndpoint.prototype.getSlackWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SlackNotificationEndpoint} returns this\n */\nproto.ramius.SlackNotificationEndpoint.prototype.setSlackWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.WebExNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.WebExNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.WebExNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WebExNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n webexWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.WebExNotificationEndpoint}\n */\nproto.ramius.WebExNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.WebExNotificationEndpoint;\n return proto.ramius.WebExNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.WebExNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.WebExNotificationEndpoint}\n */\nproto.ramius.WebExNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setWebexWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.WebExNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.WebExNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.WebExNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.WebExNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getWebexWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string webex_webhook = 1;\n * @return {string}\n */\nproto.ramius.WebExNotificationEndpoint.prototype.getWebexWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.WebExNotificationEndpoint} returns this\n */\nproto.ramius.WebExNotificationEndpoint.prototype.setWebexWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.MicrosoftTeamsNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.MicrosoftTeamsNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n teamsWebhook: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.MicrosoftTeamsNotificationEndpoint}\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.MicrosoftTeamsNotificationEndpoint;\n return proto.ramius.MicrosoftTeamsNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.MicrosoftTeamsNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.MicrosoftTeamsNotificationEndpoint}\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setTeamsWebhook(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.MicrosoftTeamsNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.MicrosoftTeamsNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTeamsWebhook();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string teams_webhook = 1;\n * @return {string}\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.prototype.getTeamsWebhook = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MicrosoftTeamsNotificationEndpoint} returns this\n */\nproto.ramius.MicrosoftTeamsNotificationEndpoint.prototype.setTeamsWebhook = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PagerDutyNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PagerDutyNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PagerDutyNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PagerDutyNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n routingKey: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PagerDutyNotificationEndpoint}\n */\nproto.ramius.PagerDutyNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PagerDutyNotificationEndpoint;\n return proto.ramius.PagerDutyNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PagerDutyNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PagerDutyNotificationEndpoint}\n */\nproto.ramius.PagerDutyNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setRoutingKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PagerDutyNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PagerDutyNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PagerDutyNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PagerDutyNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRoutingKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string routing_key = 1;\n * @return {string}\n */\nproto.ramius.PagerDutyNotificationEndpoint.prototype.getRoutingKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PagerDutyNotificationEndpoint} returns this\n */\nproto.ramius.PagerDutyNotificationEndpoint.prototype.setRoutingKey = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.TestNotificationEndpoint.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.TestNotificationEndpoint.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.TestNotificationEndpoint} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestNotificationEndpoint.toObject = function(includeInstance, msg) {\n var f, obj = {\n name: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.TestNotificationEndpoint}\n */\nproto.ramius.TestNotificationEndpoint.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.TestNotificationEndpoint;\n return proto.ramius.TestNotificationEndpoint.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.TestNotificationEndpoint} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.TestNotificationEndpoint}\n */\nproto.ramius.TestNotificationEndpoint.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.TestNotificationEndpoint.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.TestNotificationEndpoint.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.TestNotificationEndpoint} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.TestNotificationEndpoint.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string name = 1;\n * @return {string}\n */\nproto.ramius.TestNotificationEndpoint.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.TestNotificationEndpoint} returns this\n */\nproto.ramius.TestNotificationEndpoint.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfigEpoch.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfigEpoch.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfigEpoch} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigEpoch.toObject = function(includeInstance, msg) {\n var f, obj = {\n at: (f = msg.getAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfigEpoch}\n */\nproto.ramius.ConfigEpoch.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfigEpoch;\n return proto.ramius.ConfigEpoch.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfigEpoch} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfigEpoch}\n */\nproto.ramius.ConfigEpoch.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setAt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfigEpoch.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfigEpoch.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfigEpoch} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigEpoch.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAt();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional google.protobuf.Timestamp at = 1;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.ConfigEpoch.prototype.getAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.ConfigEpoch} returns this\n*/\nproto.ramius.ConfigEpoch.prototype.setAt = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigEpoch} returns this\n */\nproto.ramius.ConfigEpoch.prototype.clearAt = function() {\n return this.setAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigEpoch.prototype.hasAt = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgMap.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgMap.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgMap} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgMap.toObject = function(includeInstance, msg) {\n var f, obj = {\n at: (f = msg.getAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n epoch: jspb.Message.getFieldWithDefault(msg, 2, 0),\n orgsMap: (f = msg.getOrgsMap()) ? f.toObject(includeInstance, proto.ramius.OrgEpochDesc.toObject) : [],\n user: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n comment: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n numChunks: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgMap}\n */\nproto.ramius.OrgMap.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgMap;\n return proto.ramius.OrgMap.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgMap} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgMap}\n */\nproto.ramius.OrgMap.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setAt(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setEpoch(value);\n break;\n case 3:\n var value = msg.getOrgsMap();\n reader.readMessage(value, function(message, reader) {\n jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.ramius.OrgEpochDesc.deserializeBinaryFromReader, \"\", new proto.ramius.OrgEpochDesc());\n });\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setUser(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setComment(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setNumChunks(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgMap.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgMap.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgMap} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgMap.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAt();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getEpoch();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getOrgsMap(true);\n if (f && f.getLength() > 0) {\n f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.ramius.OrgEpochDesc.serializeBinaryToWriter);\n }\n f = message.getUser();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getComment();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getNumChunks();\n if (f !== 0) {\n writer.writeInt64(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional google.protobuf.Timestamp at = 1;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.OrgMap.prototype.getAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 1));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.OrgMap} returns this\n*/\nproto.ramius.OrgMap.prototype.setAt = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.clearAt = function() {\n return this.setAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgMap.prototype.hasAt = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional int64 epoch = 2;\n * @return {number}\n */\nproto.ramius.OrgMap.prototype.getEpoch = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.setEpoch = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * map orgs = 3;\n * @param {boolean=} opt_noLazyCreate Do not create the map if\n * empty, instead returning `undefined`\n * @return {!jspb.Map}\n */\nproto.ramius.OrgMap.prototype.getOrgsMap = function(opt_noLazyCreate) {\n return /** @type {!jspb.Map} */ (\n jspb.Message.getMapField(this, 3, opt_noLazyCreate,\n proto.ramius.OrgEpochDesc));\n};\n\n\n/**\n * Clears values from the map. The map will be non-null.\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.clearOrgsMap = function() {\n this.getOrgsMap().clear();\n return this;};\n\n\n/**\n * optional string user = 4;\n * @return {string}\n */\nproto.ramius.OrgMap.prototype.getUser = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.setUser = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string comment = 5;\n * @return {string}\n */\nproto.ramius.OrgMap.prototype.getComment = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.setComment = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional int64 num_chunks = 6;\n * @return {number}\n */\nproto.ramius.OrgMap.prototype.getNumChunks = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OrgMap} returns this\n */\nproto.ramius.OrgMap.prototype.setNumChunks = function(value) {\n return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OrgEpochDesc.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OrgEpochDesc.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OrgEpochDesc} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgEpochDesc.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgEpoch: jspb.Message.getFieldWithDefault(msg, 1, 0),\n at: (f = msg.getAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OrgEpochDesc}\n */\nproto.ramius.OrgEpochDesc.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OrgEpochDesc;\n return proto.ramius.OrgEpochDesc.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OrgEpochDesc} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OrgEpochDesc}\n */\nproto.ramius.OrgEpochDesc.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setOrgEpoch(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setAt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OrgEpochDesc.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OrgEpochDesc.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OrgEpochDesc} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OrgEpochDesc.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgEpoch();\n if (f !== 0) {\n writer.writeInt64(\n 1,\n f\n );\n }\n f = message.getAt();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int64 org_epoch = 1;\n * @return {number}\n */\nproto.ramius.OrgEpochDesc.prototype.getOrgEpoch = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OrgEpochDesc} returns this\n */\nproto.ramius.OrgEpochDesc.prototype.setOrgEpoch = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp at = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.OrgEpochDesc.prototype.getAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.OrgEpochDesc} returns this\n*/\nproto.ramius.OrgEpochDesc.prototype.setAt = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.OrgEpochDesc} returns this\n */\nproto.ramius.OrgEpochDesc.prototype.clearAt = function() {\n return this.setAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.OrgEpochDesc.prototype.hasAt = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.AuuidDesc.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.AuuidDesc.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.AuuidDesc} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AuuidDesc.toObject = function(includeInstance, msg) {\n var f, obj = {\n prefix: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n guuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n type: jspb.Message.getFieldWithDefault(msg, 3, 0),\n outputSetId: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n asn: jspb.Message.getFieldWithDefault(msg, 6, 0),\n peerId: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n deviceId: jspb.Message.getFieldWithDefault(msg, 8, \"\"),\n gatewayId: jspb.Message.getFieldWithDefault(msg, 9, \"\"),\n pb_interface: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n policyType: jspb.Message.getFieldWithDefault(msg, 11, 0),\n pausedUntil: (f = msg.getPausedUntil()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.AuuidDesc}\n */\nproto.ramius.AuuidDesc.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.AuuidDesc;\n return proto.ramius.AuuidDesc.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.AuuidDesc} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.AuuidDesc}\n */\nproto.ramius.AuuidDesc.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setPrefix(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setGuuid(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setOutputSetId(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerId(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 9:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayId(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setInterface(value);\n break;\n case 11:\n var value = /** @type {!proto.ramius.AlarmPolicyType} */ (reader.readEnum());\n msg.setPolicyType(value);\n break;\n case 12:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setPausedUntil(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.AuuidDesc.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.AuuidDesc.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.AuuidDesc} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.AuuidDesc.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPrefix();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getGuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getOutputSetId();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 6,\n f\n );\n }\n f = message.getPeerId();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 8,\n f\n );\n }\n f = message.getGatewayId();\n if (f.length > 0) {\n writer.writeString(\n 9,\n f\n );\n }\n f = message.getInterface();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getPolicyType();\n if (f !== 0.0) {\n writer.writeEnum(\n 11,\n f\n );\n }\n f = message.getPausedUntil();\n if (f != null) {\n writer.writeMessage(\n 12,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional string prefix = 1;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getPrefix = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setPrefix = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string guuid = 2;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getGuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setGuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional AlarmType type = 3;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.AuuidDesc.prototype.getType = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional string output_set_id = 5;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getOutputSetId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setOutputSetId = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional uint32 asn = 6;\n * @return {number}\n */\nproto.ramius.AuuidDesc.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional string peer_id = 7;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional string device_id = 8;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 8, value);\n};\n\n\n/**\n * optional string gateway_id = 9;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getGatewayId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setGatewayId = function(value) {\n return jspb.Message.setProto3StringField(this, 9, value);\n};\n\n\n/**\n * optional string interface = 10;\n * @return {string}\n */\nproto.ramius.AuuidDesc.prototype.getInterface = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setInterface = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional AlarmPolicyType policy_type = 11;\n * @return {!proto.ramius.AlarmPolicyType}\n */\nproto.ramius.AuuidDesc.prototype.getPolicyType = function() {\n return /** @type {!proto.ramius.AlarmPolicyType} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmPolicyType} value\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.setPolicyType = function(value) {\n return jspb.Message.setProto3EnumField(this, 11, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp paused_until = 12;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.AuuidDesc.prototype.getPausedUntil = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 12));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.AuuidDesc} returns this\n*/\nproto.ramius.AuuidDesc.prototype.setPausedUntil = function(value) {\n return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.AuuidDesc} returns this\n */\nproto.ramius.AuuidDesc.prototype.clearPausedUntil = function() {\n return this.setPausedUntil(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.AuuidDesc.prototype.hasPausedUntil = function() {\n return jspb.Message.getField(this, 12) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.OutputSet.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.OutputSet.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.OutputSet.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.OutputSet} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OutputSet.toObject = function(includeInstance, msg) {\n var f, obj = {\n tagsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,\n euuidList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,\n counter: jspb.Message.getFieldWithDefault(msg, 3, 0),\n policyId: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n alarmType: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.OutputSet}\n */\nproto.ramius.OutputSet.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.OutputSet;\n return proto.ramius.OutputSet.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.OutputSet} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.OutputSet}\n */\nproto.ramius.OutputSet.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addTags(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.addEuuid(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCounter(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.AlarmType} */ (reader.readEnum());\n msg.setAlarmType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.OutputSet.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.OutputSet.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.OutputSet} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.OutputSet.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTagsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n f = message.getEuuidList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 2,\n f\n );\n }\n f = message.getCounter();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getAlarmType();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n};\n\n\n/**\n * repeated string tags = 1;\n * @return {!Array}\n */\nproto.ramius.OutputSet.prototype.getTagsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.setTagsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.addTags = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.clearTagsList = function() {\n return this.setTagsList([]);\n};\n\n\n/**\n * repeated string euuid = 2;\n * @return {!Array}\n */\nproto.ramius.OutputSet.prototype.getEuuidList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.setEuuidList = function(value) {\n return jspb.Message.setField(this, 2, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.addEuuid = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 2, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.clearEuuidList = function() {\n return this.setEuuidList([]);\n};\n\n\n/**\n * optional int32 counter = 3;\n * @return {number}\n */\nproto.ramius.OutputSet.prototype.getCounter = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.setCounter = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string policy_id = 4;\n * @return {string}\n */\nproto.ramius.OutputSet.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional AlarmType alarm_type = 5;\n * @return {!proto.ramius.AlarmType}\n */\nproto.ramius.OutputSet.prototype.getAlarmType = function() {\n return /** @type {!proto.ramius.AlarmType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.AlarmType} value\n * @return {!proto.ramius.OutputSet} returns this\n */\nproto.ramius.OutputSet.prototype.setAlarmType = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.BgpPeerConfig.repeatedFields_ = [50];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpPeerConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpPeerConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpPeerConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n puuid: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n asn: jspb.Message.getFieldWithDefault(msg, 10, 0),\n ipv4Address: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n ipv6Address: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n bgpPeerId: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n contact: jspb.Message.getFieldWithDefault(msg, 21, \"\"),\n city: jspb.Message.getFieldWithDefault(msg, 23, \"\"),\n country: jspb.Message.getFieldWithDefault(msg, 24, \"\"),\n policyId: jspb.Message.getFieldWithDefault(msg, 30, \"\"),\n peerLoad: (f = msg.getPeerLoad()) && proto.ramius.BgpPeerLoad.toObject(includeInstance, f),\n mappingsList: jspb.Message.toObjectList(msg.getMappingsList(),\n proto.ramius.BgpPeerMapping.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpPeerConfig}\n */\nproto.ramius.BgpPeerConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpPeerConfig;\n return proto.ramius.BgpPeerConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpPeerConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpPeerConfig}\n */\nproto.ramius.BgpPeerConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv4Address(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpv6Address(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setBgpPeerId(value);\n break;\n case 21:\n var value = /** @type {string} */ (reader.readString());\n msg.setContact(value);\n break;\n case 23:\n var value = /** @type {string} */ (reader.readString());\n msg.setCity(value);\n break;\n case 24:\n var value = /** @type {string} */ (reader.readString());\n msg.setCountry(value);\n break;\n case 30:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n case 49:\n var value = new proto.ramius.BgpPeerLoad;\n reader.readMessage(value,proto.ramius.BgpPeerLoad.deserializeBinaryFromReader);\n msg.setPeerLoad(value);\n break;\n case 50:\n var value = new proto.ramius.BgpPeerMapping;\n reader.readMessage(value,proto.ramius.BgpPeerMapping.deserializeBinaryFromReader);\n msg.addMappings(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpPeerConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpPeerConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpPeerConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getIpv4Address();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getIpv6Address();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getBgpPeerId();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getContact();\n if (f.length > 0) {\n writer.writeString(\n 21,\n f\n );\n }\n f = message.getCity();\n if (f.length > 0) {\n writer.writeString(\n 23,\n f\n );\n }\n f = message.getCountry();\n if (f.length > 0) {\n writer.writeString(\n 24,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 30,\n f\n );\n }\n f = message.getPeerLoad();\n if (f != null) {\n writer.writeMessage(\n 49,\n f,\n proto.ramius.BgpPeerLoad.serializeBinaryToWriter\n );\n }\n f = message.getMappingsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 50,\n f,\n proto.ramius.BgpPeerMapping.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.BgpPeerConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n*/\nproto.ramius.BgpPeerConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.BgpPeerConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string puuid = 2;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional uint32 asn = 10;\n * @return {number}\n */\nproto.ramius.BgpPeerConfig.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional string ipv4_address = 11;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getIpv4Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setIpv4Address = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string ipv6_address = 12;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getIpv6Address = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setIpv6Address = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string bgp_peer_id = 13;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getBgpPeerId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setBgpPeerId = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string contact = 21;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getContact = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setContact = function(value) {\n return jspb.Message.setProto3StringField(this, 21, value);\n};\n\n\n/**\n * optional string city = 23;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getCity = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 23, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setCity = function(value) {\n return jspb.Message.setProto3StringField(this, 23, value);\n};\n\n\n/**\n * optional string country = 24;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getCountry = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 24, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setCountry = function(value) {\n return jspb.Message.setProto3StringField(this, 24, value);\n};\n\n\n/**\n * optional string policy_id = 30;\n * @return {string}\n */\nproto.ramius.BgpPeerConfig.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 30, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 30, value);\n};\n\n\n/**\n * optional BgpPeerLoad peer_load = 49;\n * @return {?proto.ramius.BgpPeerLoad}\n */\nproto.ramius.BgpPeerConfig.prototype.getPeerLoad = function() {\n return /** @type{?proto.ramius.BgpPeerLoad} */ (\n jspb.Message.getWrapperField(this, proto.ramius.BgpPeerLoad, 49));\n};\n\n\n/**\n * @param {?proto.ramius.BgpPeerLoad|undefined} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n*/\nproto.ramius.BgpPeerConfig.prototype.setPeerLoad = function(value) {\n return jspb.Message.setWrapperField(this, 49, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.clearPeerLoad = function() {\n return this.setPeerLoad(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.BgpPeerConfig.prototype.hasPeerLoad = function() {\n return jspb.Message.getField(this, 49) != null;\n};\n\n\n/**\n * repeated BgpPeerMapping mappings = 50;\n * @return {!Array}\n */\nproto.ramius.BgpPeerConfig.prototype.getMappingsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpPeerMapping, 50));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.BgpPeerConfig} returns this\n*/\nproto.ramius.BgpPeerConfig.prototype.setMappingsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 50, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpPeerMapping=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpPeerMapping}\n */\nproto.ramius.BgpPeerConfig.prototype.addMappings = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 50, opt_value, proto.ramius.BgpPeerMapping, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.BgpPeerConfig} returns this\n */\nproto.ramius.BgpPeerConfig.prototype.clearMappingsList = function() {\n return this.setMappingsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpPeerMapping.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpPeerMapping.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpPeerMapping} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerMapping.toObject = function(includeInstance, msg) {\n var f, obj = {\n ciscoId: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n ciscoName: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n ciscoIp: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n peerIp: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n addrType: jspb.Message.getFieldWithDefault(msg, 16, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpPeerMapping}\n */\nproto.ramius.BgpPeerMapping.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpPeerMapping;\n return proto.ramius.BgpPeerMapping.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpPeerMapping} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpPeerMapping}\n */\nproto.ramius.BgpPeerMapping.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setCiscoId(value);\n break;\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setCiscoName(value);\n break;\n case 14:\n var value = /** @type {string} */ (reader.readString());\n msg.setCiscoIp(value);\n break;\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setPeerIp(value);\n break;\n case 16:\n var value = /** @type {!proto.ramius.BgpAddrType} */ (reader.readEnum());\n msg.setAddrType(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpPeerMapping.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpPeerMapping.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpPeerMapping} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerMapping.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCiscoId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getCiscoName();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getCiscoIp();\n if (f.length > 0) {\n writer.writeString(\n 14,\n f\n );\n }\n f = message.getPeerIp();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getAddrType();\n if (f !== 0.0) {\n writer.writeEnum(\n 16,\n f\n );\n }\n};\n\n\n/**\n * optional string cisco_id = 10;\n * @return {string}\n */\nproto.ramius.BgpPeerMapping.prototype.getCiscoId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerMapping} returns this\n */\nproto.ramius.BgpPeerMapping.prototype.setCiscoId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string cisco_name = 11;\n * @return {string}\n */\nproto.ramius.BgpPeerMapping.prototype.getCiscoName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerMapping} returns this\n */\nproto.ramius.BgpPeerMapping.prototype.setCiscoName = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string cisco_ip = 14;\n * @return {string}\n */\nproto.ramius.BgpPeerMapping.prototype.getCiscoIp = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerMapping} returns this\n */\nproto.ramius.BgpPeerMapping.prototype.setCiscoIp = function(value) {\n return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional string peer_ip = 15;\n * @return {string}\n */\nproto.ramius.BgpPeerMapping.prototype.getPeerIp = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpPeerMapping} returns this\n */\nproto.ramius.BgpPeerMapping.prototype.setPeerIp = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional BgpAddrType addr_type = 16;\n * @return {!proto.ramius.BgpAddrType}\n */\nproto.ramius.BgpPeerMapping.prototype.getAddrType = function() {\n return /** @type {!proto.ramius.BgpAddrType} */ (jspb.Message.getFieldWithDefault(this, 16, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpAddrType} value\n * @return {!proto.ramius.BgpPeerMapping} returns this\n */\nproto.ramius.BgpPeerMapping.prototype.setAddrType = function(value) {\n return jspb.Message.setProto3EnumField(this, 16, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpPeerLoad.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpPeerLoad.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpPeerLoad} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerLoad.toObject = function(includeInstance, msg) {\n var f, obj = {\n active: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n at: (f = msg.getAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n peerCount: jspb.Message.getFieldWithDefault(msg, 3, 0),\n prefixCount: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpPeerLoad}\n */\nproto.ramius.BgpPeerLoad.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpPeerLoad;\n return proto.ramius.BgpPeerLoad.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpPeerLoad} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpPeerLoad}\n */\nproto.ramius.BgpPeerLoad.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setActive(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setAt(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setPeerCount(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setPrefixCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpPeerLoad.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpPeerLoad.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpPeerLoad} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpPeerLoad.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getActive();\n if (f) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getAt();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getPeerCount();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getPrefixCount();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional bool active = 1;\n * @return {boolean}\n */\nproto.ramius.BgpPeerLoad.prototype.getActive = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.BgpPeerLoad} returns this\n */\nproto.ramius.BgpPeerLoad.prototype.setActive = function(value) {\n return jspb.Message.setProto3BooleanField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp at = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.BgpPeerLoad.prototype.getAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.BgpPeerLoad} returns this\n*/\nproto.ramius.BgpPeerLoad.prototype.setAt = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.BgpPeerLoad} returns this\n */\nproto.ramius.BgpPeerLoad.prototype.clearAt = function() {\n return this.setAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.BgpPeerLoad.prototype.hasAt = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional uint32 peer_count = 3;\n * @return {number}\n */\nproto.ramius.BgpPeerLoad.prototype.getPeerCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpPeerLoad} returns this\n */\nproto.ramius.BgpPeerLoad.prototype.setPeerCount = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional uint32 prefix_count = 4;\n * @return {number}\n */\nproto.ramius.BgpPeerLoad.prototype.getPrefixCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.BgpPeerLoad} returns this\n */\nproto.ramius.BgpPeerLoad.prototype.setPrefixCount = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.NetworkDeviceConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.NetworkDeviceConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.NetworkDeviceConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NetworkDeviceConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n deviceId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n trustPolicyId: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n telemetryPolicyId: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n devicePolicyId: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n cfgTrackEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.NetworkDeviceConfig}\n */\nproto.ramius.NetworkDeviceConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.NetworkDeviceConfig;\n return proto.ramius.NetworkDeviceConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.NetworkDeviceConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.NetworkDeviceConfig}\n */\nproto.ramius.NetworkDeviceConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setTrustPolicyId(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setTelemetryPolicyId(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setDevicePolicyId(value);\n break;\n case 14:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setCfgTrackEnabled(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.NetworkDeviceConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.NetworkDeviceConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.NetworkDeviceConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.NetworkDeviceConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getTrustPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getTelemetryPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getDevicePolicyId();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getCfgTrackEnabled();\n if (f) {\n writer.writeBool(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n*/\nproto.ramius.NetworkDeviceConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.NetworkDeviceConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string device_id = 2;\n * @return {string}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string trust_policy_id = 10;\n * @return {string}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getTrustPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setTrustPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional string telemetry_policy_id = 12;\n * @return {string}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getTelemetryPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setTelemetryPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string device_policy_id = 13;\n * @return {string}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getDevicePolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setDevicePolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional bool cfg_track_enabled = 14;\n * @return {boolean}\n */\nproto.ramius.NetworkDeviceConfig.prototype.getCfgTrackEnabled = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.NetworkDeviceConfig} returns this\n */\nproto.ramius.NetworkDeviceConfig.prototype.setCfgTrackEnabled = function(value) {\n return jspb.Message.setProto3BooleanField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.InterfaceConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.InterfaceConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.InterfaceConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n deviceId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n mode: jspb.Message.getFieldWithDefault(msg, 3, 0),\n policyId: jspb.Message.getFieldWithDefault(msg, 10, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.InterfaceConfig}\n */\nproto.ramius.InterfaceConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.InterfaceConfig;\n return proto.ramius.InterfaceConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.InterfaceConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.InterfaceConfig}\n */\nproto.ramius.InterfaceConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setDeviceId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.InterfaceMode} */ (reader.readEnum());\n msg.setMode(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.InterfaceConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.InterfaceConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.InterfaceConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.InterfaceConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getDeviceId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getMode();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n};\n\n\n/**\n * optional string device_id = 1;\n * @return {string}\n */\nproto.ramius.InterfaceConfig.prototype.getDeviceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InterfaceConfig} returns this\n */\nproto.ramius.InterfaceConfig.prototype.setDeviceId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string name = 2;\n * @return {string}\n */\nproto.ramius.InterfaceConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InterfaceConfig} returns this\n */\nproto.ramius.InterfaceConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional InterfaceMode mode = 3;\n * @return {!proto.ramius.InterfaceMode}\n */\nproto.ramius.InterfaceConfig.prototype.getMode = function() {\n return /** @type {!proto.ramius.InterfaceMode} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.InterfaceMode} value\n * @return {!proto.ramius.InterfaceConfig} returns this\n */\nproto.ramius.InterfaceConfig.prototype.setMode = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional string policy_id = 10;\n * @return {string}\n */\nproto.ramius.InterfaceConfig.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.InterfaceConfig} returns this\n */\nproto.ramius.InterfaceConfig.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.GatewayConfig.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.GatewayConfig.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.GatewayConfig.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.GatewayConfig} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GatewayConfig.toObject = function(includeInstance, msg) {\n var f, obj = {\n common: (f = msg.getCommon()) && proto.ramius.Common.toObject(includeInstance, f),\n gatewayId: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n name: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n containerIdsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,\n policyId: jspb.Message.getFieldWithDefault(msg, 10, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.GatewayConfig}\n */\nproto.ramius.GatewayConfig.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.GatewayConfig;\n return proto.ramius.GatewayConfig.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.GatewayConfig} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.GatewayConfig}\n */\nproto.ramius.GatewayConfig.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Common;\n reader.readMessage(value,proto.ramius.Common.deserializeBinaryFromReader);\n msg.setCommon(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setGatewayId(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setName(value);\n break;\n case 4:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addContainerIds(values[i]);\n }\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setPolicyId(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.GatewayConfig.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.GatewayConfig.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.GatewayConfig} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.GatewayConfig.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCommon();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Common.serializeBinaryToWriter\n );\n }\n f = message.getGatewayId();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getName();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getContainerIdsList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 4,\n f\n );\n }\n f = message.getPolicyId();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n};\n\n\n/**\n * optional Common common = 1;\n * @return {?proto.ramius.Common}\n */\nproto.ramius.GatewayConfig.prototype.getCommon = function() {\n return /** @type{?proto.ramius.Common} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Common, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Common|undefined} value\n * @return {!proto.ramius.GatewayConfig} returns this\n*/\nproto.ramius.GatewayConfig.prototype.setCommon = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.clearCommon = function() {\n return this.setCommon(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.GatewayConfig.prototype.hasCommon = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional string gateway_id = 2;\n * @return {string}\n */\nproto.ramius.GatewayConfig.prototype.getGatewayId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.setGatewayId = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string name = 3;\n * @return {string}\n */\nproto.ramius.GatewayConfig.prototype.getName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.setName = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * repeated CdgContainerType container_ids = 4;\n * @return {!Array}\n */\nproto.ramius.GatewayConfig.prototype.getContainerIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.setContainerIdsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.CdgContainerType} value\n * @param {number=} opt_index\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.addContainerIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.clearContainerIdsList = function() {\n return this.setContainerIdsList([]);\n};\n\n\n/**\n * optional string policy_id = 10;\n * @return {string}\n */\nproto.ramius.GatewayConfig.prototype.getPolicyId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.GatewayConfig} returns this\n */\nproto.ramius.GatewayConfig.prototype.setPolicyId = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ConfigChangeEvent.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ConfigChangeEvent.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ConfigChangeEvent.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ConfigChangeEvent} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigChangeEvent.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n epoch: jspb.Message.getFieldWithDefault(msg, 2, 0),\n timestamp: (f = msg.getTimestamp()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n orgIdsList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ConfigChangeEvent}\n */\nproto.ramius.ConfigChangeEvent.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ConfigChangeEvent;\n return proto.ramius.ConfigChangeEvent.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ConfigChangeEvent} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ConfigChangeEvent}\n */\nproto.ramius.ConfigChangeEvent.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setEpoch(value);\n break;\n case 3:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setTimestamp(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.addOrgIds(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ConfigChangeEvent.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ConfigChangeEvent.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ConfigChangeEvent} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ConfigChangeEvent.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getEpoch();\n if (f !== 0) {\n writer.writeInt64(\n 2,\n f\n );\n }\n f = message.getTimestamp();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getOrgIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string org_id = 1;\n * @return {string}\n */\nproto.ramius.ConfigChangeEvent.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional int64 epoch = 2;\n * @return {number}\n */\nproto.ramius.ConfigChangeEvent.prototype.getEpoch = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.setEpoch = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp timestamp = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.ConfigChangeEvent.prototype.getTimestamp = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n*/\nproto.ramius.ConfigChangeEvent.prototype.setTimestamp = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.clearTimestamp = function() {\n return this.setTimestamp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.ConfigChangeEvent.prototype.hasTimestamp = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated string org_ids = 4;\n * @return {!Array}\n */\nproto.ramius.ConfigChangeEvent.prototype.getOrgIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.setOrgIdsList = function(value) {\n return jspb.Message.setField(this, 4, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.addOrgIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 4, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ConfigChangeEvent} returns this\n */\nproto.ramius.ConfigChangeEvent.prototype.clearOrgIdsList = function() {\n return this.setOrgIdsList([]);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.UsageType = {\n USAGE_INVALID: 0,\n USAGE_INCLUDE: 1,\n USAGE_EXCLUDE: 2,\n USAGE_IGNORE: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.PeerStatsReportType = {\n PEER_STATS_INVALID: 0,\n PEER_STATS_NOOP: 1,\n SESSION_STATE: 2,\n DAILY_PREFIX: 3,\n WEEKLY_PREFIX: 4\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: error.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');\ngoog.object.extend(proto, google_protobuf_any_pb);\ngoog.exportSymbol('proto.ramius.ApiErrorCode', null, global);\ngoog.exportSymbol('proto.ramius.Error', null, global);\ngoog.exportSymbol('proto.ramius.ErrorStatus', null, global);\ngoog.exportSymbol('proto.ramius.RegistrationError', null, global);\ngoog.exportSymbol('proto.ramius.RestApiError', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ErrorStatus = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ErrorStatus.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ErrorStatus, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ErrorStatus.displayName = 'proto.ramius.ErrorStatus';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Error = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.Error.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.Error, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Error.displayName = 'proto.ramius.Error';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RegistrationError = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RegistrationError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RegistrationError.displayName = 'proto.ramius.RegistrationError';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RestApiError = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RestApiError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RestApiError.displayName = 'proto.ramius.RestApiError';\n}\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ErrorStatus.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ErrorStatus.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ErrorStatus.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ErrorStatus} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ErrorStatus.toObject = function(includeInstance, msg) {\n var f, obj = {\n code: jspb.Message.getFieldWithDefault(msg, 1, 0),\n message: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n detailsList: jspb.Message.toObjectList(msg.getDetailsList(),\n google_protobuf_any_pb.Any.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ErrorStatus}\n */\nproto.ramius.ErrorStatus.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ErrorStatus;\n return proto.ramius.ErrorStatus.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ErrorStatus} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ErrorStatus}\n */\nproto.ramius.ErrorStatus.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCode(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setMessage(value);\n break;\n case 3:\n var value = new google_protobuf_any_pb.Any;\n reader.readMessage(value,google_protobuf_any_pb.Any.deserializeBinaryFromReader);\n msg.addDetails(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ErrorStatus.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ErrorStatus.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ErrorStatus} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ErrorStatus.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getCode();\n if (f !== 0) {\n writer.writeInt32(\n 1,\n f\n );\n }\n f = message.getMessage();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getDetailsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n google_protobuf_any_pb.Any.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional int32 code = 1;\n * @return {number}\n */\nproto.ramius.ErrorStatus.prototype.getCode = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ErrorStatus} returns this\n */\nproto.ramius.ErrorStatus.prototype.setCode = function(value) {\n return jspb.Message.setProto3IntField(this, 1, value);\n};\n\n\n/**\n * optional string message = 2;\n * @return {string}\n */\nproto.ramius.ErrorStatus.prototype.getMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ErrorStatus} returns this\n */\nproto.ramius.ErrorStatus.prototype.setMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * repeated google.protobuf.Any details = 3;\n * @return {!Array}\n */\nproto.ramius.ErrorStatus.prototype.getDetailsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, google_protobuf_any_pb.Any, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ErrorStatus} returns this\n*/\nproto.ramius.ErrorStatus.prototype.setDetailsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.google.protobuf.Any=} opt_value\n * @param {number=} opt_index\n * @return {!proto.google.protobuf.Any}\n */\nproto.ramius.ErrorStatus.prototype.addDetails = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.google.protobuf.Any, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ErrorStatus} returns this\n */\nproto.ramius.ErrorStatus.prototype.clearDetailsList = function() {\n return this.setDetailsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.Error.repeatedFields_ = [8];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Error.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Error.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Error} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Error.toObject = function(includeInstance, msg) {\n var f, obj = {\n message: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n tag: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n value: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n field: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n notes: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n code: jspb.Message.getFieldWithDefault(msg, 6, 0),\n critical: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),\n causesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Error}\n */\nproto.ramius.Error.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Error;\n return proto.ramius.Error.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Error} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Error}\n */\nproto.ramius.Error.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setMessage(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setTag(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setValue(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setField(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setNotes(value);\n break;\n case 6:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setCode(value);\n break;\n case 7:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setCritical(value);\n break;\n case 8:\n var value = /** @type {string} */ (reader.readString());\n msg.addCauses(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Error.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Error.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Error} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Error.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMessage();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getTag();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getValue();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getField();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getNotes();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getCode();\n if (f !== 0) {\n writer.writeInt32(\n 6,\n f\n );\n }\n f = message.getCritical();\n if (f) {\n writer.writeBool(\n 7,\n f\n );\n }\n f = message.getCausesList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 8,\n f\n );\n }\n};\n\n\n/**\n * optional string message = 1;\n * @return {string}\n */\nproto.ramius.Error.prototype.getMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string tag = 2;\n * @return {string}\n */\nproto.ramius.Error.prototype.getTag = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setTag = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string value = 3;\n * @return {string}\n */\nproto.ramius.Error.prototype.getValue = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setValue = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string field = 4;\n * @return {string}\n */\nproto.ramius.Error.prototype.getField = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setField = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional string notes = 5;\n * @return {string}\n */\nproto.ramius.Error.prototype.getNotes = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setNotes = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional int32 code = 6;\n * @return {number}\n */\nproto.ramius.Error.prototype.getCode = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setCode = function(value) {\n return jspb.Message.setProto3IntField(this, 6, value);\n};\n\n\n/**\n * optional bool critical = 7;\n * @return {boolean}\n */\nproto.ramius.Error.prototype.getCritical = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setCritical = function(value) {\n return jspb.Message.setProto3BooleanField(this, 7, value);\n};\n\n\n/**\n * repeated string causes = 8;\n * @return {!Array}\n */\nproto.ramius.Error.prototype.getCausesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 8));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.setCausesList = function(value) {\n return jspb.Message.setField(this, 8, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.addCauses = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 8, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.Error} returns this\n */\nproto.ramius.Error.prototype.clearCausesList = function() {\n return this.setCausesList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RegistrationError.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RegistrationError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RegistrationError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RegistrationError.toObject = function(includeInstance, msg) {\n var f, obj = {\n msg: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n url: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n registrationToken: jspb.Message.getFieldWithDefault(msg, 3, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RegistrationError}\n */\nproto.ramius.RegistrationError.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RegistrationError;\n return proto.ramius.RegistrationError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RegistrationError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RegistrationError}\n */\nproto.ramius.RegistrationError.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setMsg(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setUrl(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setRegistrationToken(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RegistrationError.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RegistrationError.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RegistrationError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RegistrationError.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getMsg();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getUrl();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getRegistrationToken();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional string msg = 1;\n * @return {string}\n */\nproto.ramius.RegistrationError.prototype.getMsg = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RegistrationError} returns this\n */\nproto.ramius.RegistrationError.prototype.setMsg = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string url = 2;\n * @return {string}\n */\nproto.ramius.RegistrationError.prototype.getUrl = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RegistrationError} returns this\n */\nproto.ramius.RegistrationError.prototype.setUrl = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string registration_token = 3;\n * @return {string}\n */\nproto.ramius.RegistrationError.prototype.getRegistrationToken = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RegistrationError} returns this\n */\nproto.ramius.RegistrationError.prototype.setRegistrationToken = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RestApiError.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RestApiError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RestApiError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RestApiError.toObject = function(includeInstance, msg) {\n var f, obj = {\n error: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n code: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n field: jspb.Message.getFieldWithDefault(msg, 3, \"\"),\n value: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n httpStatus: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RestApiError}\n */\nproto.ramius.RestApiError.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RestApiError;\n return proto.ramius.RestApiError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RestApiError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RestApiError}\n */\nproto.ramius.RestApiError.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setError(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setCode(value);\n break;\n case 3:\n var value = /** @type {string} */ (reader.readString());\n msg.setField(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setValue(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setHttpStatus(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RestApiError.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RestApiError.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RestApiError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RestApiError.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getError();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getCode();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getField();\n if (f.length > 0) {\n writer.writeString(\n 3,\n f\n );\n }\n f = message.getValue();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getHttpStatus();\n if (f !== 0) {\n writer.writeInt32(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional string error = 1;\n * @return {string}\n */\nproto.ramius.RestApiError.prototype.getError = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RestApiError} returns this\n */\nproto.ramius.RestApiError.prototype.setError = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string code = 2;\n * @return {string}\n */\nproto.ramius.RestApiError.prototype.getCode = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RestApiError} returns this\n */\nproto.ramius.RestApiError.prototype.setCode = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional string field = 3;\n * @return {string}\n */\nproto.ramius.RestApiError.prototype.getField = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RestApiError} returns this\n */\nproto.ramius.RestApiError.prototype.setField = function(value) {\n return jspb.Message.setProto3StringField(this, 3, value);\n};\n\n\n/**\n * optional string value = 4;\n * @return {string}\n */\nproto.ramius.RestApiError.prototype.getValue = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RestApiError} returns this\n */\nproto.ramius.RestApiError.prototype.setValue = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional int32 http_status = 5;\n * @return {number}\n */\nproto.ramius.RestApiError.prototype.getHttpStatus = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.RestApiError} returns this\n */\nproto.ramius.RestApiError.prototype.setHttpStatus = function(value) {\n return jspb.Message.setProto3IntField(this, 5, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.ApiErrorCode = {\n INTERNAL_SERVER_ERROR: 0,\n INVALID_UUID: 1,\n PERMISSION_DENIED_ERROR: 2,\n OUT_OF_RANGE_ERROR: 3,\n INVALID_PARAMETER_TYPE: 4,\n INVALID_PARAMETER_VALUE: 5,\n INVALID_PARAMETER_NAME: 6,\n ACCEPTED: 7,\n NO_CONTENT: 8,\n PARTIAL_CONTENT: 9,\n SERVICE_UNAVAILABLE: 10,\n VALUE_NOT_FOUND: 11,\n INVALID_NAME: 12,\n INVALID_OPERATION: 13,\n UNSUPPORTED_OPERATION: 14,\n DEVICE_NOT_FOUND: 100,\n DEVICE_ALREADY_EXISTS: 101,\n NETWORK_DEVICE_ALREADY_EXISTS: 102,\n INVALID_DEVICE_ID: 103,\n INVALID_DEVICE_TYPE: 104,\n INVALID_MAPPING_STATE: 105,\n TOO_MANY_DEVICE_NAMES: 106,\n DEVICE_NOT_PROVIDED: 107,\n DEVICE_INFO_NOT_PROVIDED: 108,\n ACCESS_PARAMS_NOT_PROVIDED: 109,\n DEVICE_ID_NOT_PROVIDED: 110,\n HOSTNAME_ALREADY_IN_USE: 111,\n IP_ADDRESS_ALREADY_IN_USE: 112,\n NETWORK_CONNECTIVITY_ERROR: 113,\n MAX_DEVICE_LIMIT_EXCEEDED: 114,\n INVALID_CONTAINER_TYPE_ID: 115,\n CANNOT_MAP_MULTIPLE_CONTAINER_TYPES: 116,\n INVALID_MAPPING_COUNT: 117,\n CANNOT_MAP_FLOW_TO_NON_FLOW: 118,\n CANNOT_MAP_TRUST_TO_NON_TRUST: 119,\n CANNOT_MAP_TELEMETRY_TO_NON_TELEMETRY: 120,\n CANNOT_MAP_TO_MULTIPLE_GATEWAYS: 121,\n DUPLICATE_DEVICE_MAPPINGS: 122,\n TRAFFIC_ACCESS_PARAMS_NOT_PROVIDED: 123,\n DEVICE_DOSSIER_ALREADY_REQUESTED: 124,\n ACCESS_PARAMS_ALREADY_PROVIDED: 125,\n GATEWAY_NOT_FOUND: 200,\n GATEWAY_ALREADY_EXISTS: 201,\n INVALID_INTERFACE_NAME: 202,\n DUPLICATE_NETWORK_ADDRESS: 203,\n INVALID_CONTAINER_ID: 204,\n GATEWAY_NOT_PROVIDED: 205,\n ENROLLMENT_BUNDLE_NOT_FOUND: 206,\n INVALID_CERTIFICATE_CHAIN: 207,\n INVALID_ENROLLMENT_BUNDLE: 208,\n CANNOT_MAP_NON_IOSXR_DEVICE: 209,\n DEVICE_ALREADY_MAPPED: 210,\n MAX_DEVICES_PER_GATEWAY_LIMIT_EXCEEDED: 211,\n DUPLICATE_GATEWAY_MAPPINGS: 212,\n TOKEN_NOT_FOUND: 213,\n INVALID_TOKEN_MAX_USES: 214,\n NO_PENDING_ENROLLMENTS_FOUND: 215,\n ADD_GATEWAY_AUTO_ENROLLMENT_INVALID: 216,\n PENDING_ENROLLMENTS_EXISTS_FOR_TOKEN: 217,\n DEVICE_GROUP_NOT_FOUND: 250,\n DEVICE_GROUP_ALREADY_EXISTS: 251,\n INVALID_DEVICE_GROUP: 252,\n GROUP_NOT_PROVIDED: 253,\n READONLY_DEVICE_GROUP: 254,\n MUST_NOT_PROVIDE_DEVICE_GROUP_ID: 255,\n CANNOT_CREATE_DEFAULT_DEVICE_GROUP: 256,\n CREDENTIAL_NOT_FOUND: 300,\n CREDENTIAL_ALREADY_EXISTS: 301,\n INVALID_AUTH_PROTOCOL: 302,\n INVALID_PRIV_PROTOCOL: 303,\n INVALID_AUTH_LEVEL: 304,\n INVALID_CREDENTIAL_TYPE: 305,\n PASSWORD_IS_REQUIRED: 306,\n ONE_INSTANCE_ONLY: 307,\n LOOPBACK_ADDRESS_NOT_ALLOWED: 308,\n CREDENTIAL_NOT_PROVIDED: 309,\n INVALID_CREDENTIAL_ID: 310,\n CREDENTIAL_IN_USE: 311,\n NO_LINKED_DEVICES_TO_CREDENTIAL_FOUND: 312,\n INTERFACE_NOT_FOUND: 350,\n INTERFACE_ALREADY_EXISTS: 351,\n INVALID_INTERFACE_MODE: 352,\n DUPLICATE_INTERFACE_MODE: 353,\n NETFLOW_PEER_IP_ADDRESS: 354,\n DUPLICATE_ASN: 355,\n DUPLICATE_INTERFACE_NAME: 356,\n DUPLICATE_INTERFACE_TAGS: 357,\n TOO_MANY_ASNS: 358,\n CANNOT_FIND_FLOW_INTERFACE: 359,\n INVALID_FLOW_TRAFFIC_FORMAT: 360,\n INVALID_TIME_VALUE: 361,\n INVALID_UNIT_TYPE: 362,\n INVALID_LIMIT: 363,\n INVALID_TIMEOUT: 364,\n INVALID_PREFIX: 365,\n INVALID_GRANULARITY: 366,\n INVALID_ENDPOINT_FORMAT: 367,\n INVALID_REQUEST_DATA: 368,\n INVALID_MAX_RECORDS: 369,\n INVALID_RECORD_COUNT: 370,\n INVALID_SUBSCRIPTION_FEATURE: 371,\n INVALID_TIME_WINDOW: 372,\n INVALID_TAGS: 373,\n DUPLICATE_TAGS: 374,\n INVALID_CURSOR: 375,\n INVALID_DESCRIPTION: 376,\n TOO_MANY_RECORDS: 377,\n INVALID_COMMITTED_INF_RATE: 388,\n INVALID_ALARM_CATEGORY: 4000,\n INVALID_ALARM_STATE: 4001,\n INVALID_ALARM_RULE: 4002,\n INVALID_ALARM_ID: 4003,\n INVALID_ALARM_PAGINATION_CURSOR: 4004,\n INVALID_ALARM_MAX_RECORDS: 4005,\n INVALID_ALARM_TIME_VALUE: 4006,\n INVALID_ALARM_ACTION: 4007,\n INVALID_ALARM_PAUSE_DURATION: 4008,\n INVALID_ALARM_QUERY: 4009,\n ALARM_NOT_FOUND: 4010,\n INVALID_ALARM_PARAMS: 4011,\n ALARM_VIOLATION_PEERS_NOT_FOUND: 4012,\n INVALID_ALARM_SNOOZE_DURATION: 4013,\n INVALID_BGP_UPDATES_ASN: 4100,\n INVALID_BGP_UPDATES_PREFIX: 4101,\n INVALID_BGP_UPDATES_CURSOR: 4102,\n INVALID_BGP_UPDATES_MIN_RECORDS: 4103,\n INVALID_BGP_UPDATES_MAX_RECORDS: 4104,\n INVALID_BGP_UPDATES_UPDATE_TYPE: 4105,\n INVALID_BGP_UPDATES_SORT: 4106,\n INVALID_BGP_UPDATES_START_TIME: 4107,\n INVALID_BGP_UPDATES_END_TIME: 4108,\n INVALID_BGP_UPDATES_ARGUMENT: 4109,\n INVALID_POLICY_ID: 4200,\n INVALID_POLICY_TYPE: 4201,\n INVALID_POLICY_NAME: 4202,\n INVALID_POLICY_RULE_TYPE: 4203,\n NO_POLICIES: 4204,\n DUPLICATE_POLICY: 4205,\n POLICY_NOT_FOUND: 4206,\n POLICY_RULE_NOT_FOUND: 4207,\n DUPLICATE_POLICY_RULE: 4208,\n NO_POLICY_RULES: 4209,\n INVALID_POLICY_PARAM_VALUE: 4210,\n POLICY_RULE_UNAVAILABLE: 4211,\n INVALID_POLICY_SEVERITY_TYPE: 4212,\n INVALID_POLICY_GATEWAYS: 4213,\n INVALID_POLICY_DEVICES: 4214,\n NO_PREFIXES: 4300,\n PREFIX_ALREADY_SUBSCRIBED: 4301,\n DUPLICATE_PREFIXES: 4302,\n INVALID_PREFIX_LENGTH: 4303,\n ASN_ALREADY_SUBSCRIBED: 4400,\n ASN_NOT_FOUND: 4401,\n INVALID_ASN: 4402,\n NO_ASN_PROVIDED: 4403,\n INVALID_ENDPOINT_ID: 4500,\n ENDPOINT_NOT_FOUND: 4501,\n INVALID_ENDPOINT_PROPERTY: 4502,\n ENDPOINT_ALREADY_EXISTS: 4503,\n EXISTING_USER: 4600,\n INVALID_USERS: 4601,\n INVALID_USER_FIELD: 4602,\n INVALID_FEATURE_TYPE: 5000\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: mrt.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\ngoog.exportSymbol('proto.ramius.MrtSegmentData', null, global);\ngoog.exportSymbol('proto.ramius.MrtSegmentMarker', null, global);\ngoog.exportSymbol('proto.ramius.MrtSegmentType', null, global);\ngoog.exportSymbol('proto.ramius.MrtSource', null, global);\ngoog.exportSymbol('proto.ramius.RibSyncRequest', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.MrtSegmentData = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.MrtSegmentData, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.MrtSegmentData.displayName = 'proto.ramius.MrtSegmentData';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.MrtSegmentMarker = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.MrtSegmentMarker, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.MrtSegmentMarker.displayName = 'proto.ramius.MrtSegmentMarker';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RibSyncRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.RibSyncRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.RibSyncRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RibSyncRequest.displayName = 'proto.ramius.RibSyncRequest';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.MrtSegmentData.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.MrtSegmentData.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.MrtSegmentData} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MrtSegmentData.toObject = function(includeInstance, msg) {\n var f, obj = {\n source: jspb.Message.getFieldWithDefault(msg, 1, 0),\n type: jspb.Message.getFieldWithDefault(msg, 2, 0),\n sequence: jspb.Message.getFieldWithDefault(msg, 3, 0),\n size: jspb.Message.getFieldWithDefault(msg, 4, 0),\n md5inner: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n md5outer: jspb.Message.getFieldWithDefault(msg, 6, \"\"),\n url: jspb.Message.getFieldWithDefault(msg, 7, \"\"),\n resync: jspb.Message.getBooleanFieldWithDefault(msg, 8, false),\n event: msg.getEvent_asB64(),\n ipaddr: jspb.Message.getFieldWithDefault(msg, 10, \"\"),\n counter: jspb.Message.getFieldWithDefault(msg, 11, 0),\n eventstr: jspb.Message.getFieldWithDefault(msg, 12, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.MrtSegmentData}\n */\nproto.ramius.MrtSegmentData.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.MrtSegmentData;\n return proto.ramius.MrtSegmentData.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.MrtSegmentData} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.MrtSegmentData}\n */\nproto.ramius.MrtSegmentData.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.MrtSource} */ (reader.readEnum());\n msg.setSource(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.MrtSegmentType} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSequence(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSize(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setMd5inner(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setMd5outer(value);\n break;\n case 7:\n var value = /** @type {string} */ (reader.readString());\n msg.setUrl(value);\n break;\n case 8:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setResync(value);\n break;\n case 9:\n var value = /** @type {!Uint8Array} */ (reader.readBytes());\n msg.setEvent(value);\n break;\n case 10:\n var value = /** @type {string} */ (reader.readString());\n msg.setIpaddr(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setCounter(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setEventstr(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.MrtSegmentData.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.MrtSegmentData.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.MrtSegmentData} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MrtSegmentData.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSource();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getSequence();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getSize();\n if (f !== 0) {\n writer.writeInt32(\n 4,\n f\n );\n }\n f = message.getMd5inner();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getMd5outer();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n f = message.getUrl();\n if (f.length > 0) {\n writer.writeString(\n 7,\n f\n );\n }\n f = message.getResync();\n if (f) {\n writer.writeBool(\n 8,\n f\n );\n }\n f = message.getEvent_asU8();\n if (f.length > 0) {\n writer.writeBytes(\n 9,\n f\n );\n }\n f = message.getIpaddr();\n if (f.length > 0) {\n writer.writeString(\n 10,\n f\n );\n }\n f = message.getCounter();\n if (f !== 0) {\n writer.writeUint32(\n 11,\n f\n );\n }\n f = message.getEventstr();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n};\n\n\n/**\n * optional MrtSource source = 1;\n * @return {!proto.ramius.MrtSource}\n */\nproto.ramius.MrtSegmentData.prototype.getSource = function() {\n return /** @type {!proto.ramius.MrtSource} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.MrtSource} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setSource = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional MrtSegmentType type = 2;\n * @return {!proto.ramius.MrtSegmentType}\n */\nproto.ramius.MrtSegmentData.prototype.getType = function() {\n return /** @type {!proto.ramius.MrtSegmentType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.MrtSegmentType} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional int64 sequence = 3;\n * @return {number}\n */\nproto.ramius.MrtSegmentData.prototype.getSequence = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setSequence = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional int32 size = 4;\n * @return {number}\n */\nproto.ramius.MrtSegmentData.prototype.getSize = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setSize = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n/**\n * optional string md5inner = 5;\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getMd5inner = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setMd5inner = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional string md5outer = 6;\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getMd5outer = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setMd5outer = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n/**\n * optional string url = 7;\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getUrl = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setUrl = function(value) {\n return jspb.Message.setProto3StringField(this, 7, value);\n};\n\n\n/**\n * optional bool resync = 8;\n * @return {boolean}\n */\nproto.ramius.MrtSegmentData.prototype.getResync = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 8, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setResync = function(value) {\n return jspb.Message.setProto3BooleanField(this, 8, value);\n};\n\n\n/**\n * optional bytes event = 9;\n * @return {!(string|Uint8Array)}\n */\nproto.ramius.MrtSegmentData.prototype.getEvent = function() {\n return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 9, \"\"));\n};\n\n\n/**\n * optional bytes event = 9;\n * This is a type-conversion wrapper around `getEvent()`\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getEvent_asB64 = function() {\n return /** @type {string} */ (jspb.Message.bytesAsB64(\n this.getEvent()));\n};\n\n\n/**\n * optional bytes event = 9;\n * Note that Uint8Array is not supported on all browsers.\n * @see http://caniuse.com/Uint8Array\n * This is a type-conversion wrapper around `getEvent()`\n * @return {!Uint8Array}\n */\nproto.ramius.MrtSegmentData.prototype.getEvent_asU8 = function() {\n return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(\n this.getEvent()));\n};\n\n\n/**\n * @param {!(string|Uint8Array)} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setEvent = function(value) {\n return jspb.Message.setProto3BytesField(this, 9, value);\n};\n\n\n/**\n * optional string ipaddr = 10;\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getIpaddr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setIpaddr = function(value) {\n return jspb.Message.setProto3StringField(this, 10, value);\n};\n\n\n/**\n * optional uint32 counter = 11;\n * @return {number}\n */\nproto.ramius.MrtSegmentData.prototype.getCounter = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setCounter = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional string eventstr = 12;\n * @return {string}\n */\nproto.ramius.MrtSegmentData.prototype.getEventstr = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentData} returns this\n */\nproto.ramius.MrtSegmentData.prototype.setEventstr = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.MrtSegmentMarker.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.MrtSegmentMarker.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.MrtSegmentMarker} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MrtSegmentMarker.toObject = function(includeInstance, msg) {\n var f, obj = {\n source: jspb.Message.getFieldWithDefault(msg, 1, 0),\n type: jspb.Message.getFieldWithDefault(msg, 2, 0),\n sequence: jspb.Message.getFieldWithDefault(msg, 3, 0),\n fileUri: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n isEnd: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),\n isBmp: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.MrtSegmentMarker}\n */\nproto.ramius.MrtSegmentMarker.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.MrtSegmentMarker;\n return proto.ramius.MrtSegmentMarker.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.MrtSegmentMarker} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.MrtSegmentMarker}\n */\nproto.ramius.MrtSegmentMarker.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.MrtSource} */ (reader.readEnum());\n msg.setSource(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.MrtSegmentType} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setSequence(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setFileUri(value);\n break;\n case 5:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsEnd(value);\n break;\n case 6:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsBmp(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.MrtSegmentMarker.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.MrtSegmentMarker.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.MrtSegmentMarker} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.MrtSegmentMarker.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSource();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getSequence();\n if (f !== 0) {\n writer.writeInt64(\n 3,\n f\n );\n }\n f = message.getFileUri();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getIsEnd();\n if (f) {\n writer.writeBool(\n 5,\n f\n );\n }\n f = message.getIsBmp();\n if (f) {\n writer.writeBool(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional MrtSource source = 1;\n * @return {!proto.ramius.MrtSource}\n */\nproto.ramius.MrtSegmentMarker.prototype.getSource = function() {\n return /** @type {!proto.ramius.MrtSource} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.MrtSource} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setSource = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional MrtSegmentType type = 2;\n * @return {!proto.ramius.MrtSegmentType}\n */\nproto.ramius.MrtSegmentMarker.prototype.getType = function() {\n return /** @type {!proto.ramius.MrtSegmentType} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.MrtSegmentType} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional int64 sequence = 3;\n * @return {number}\n */\nproto.ramius.MrtSegmentMarker.prototype.getSequence = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setSequence = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string file_uri = 4;\n * @return {string}\n */\nproto.ramius.MrtSegmentMarker.prototype.getFileUri = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setFileUri = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional bool is_end = 5;\n * @return {boolean}\n */\nproto.ramius.MrtSegmentMarker.prototype.getIsEnd = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setIsEnd = function(value) {\n return jspb.Message.setProto3BooleanField(this, 5, value);\n};\n\n\n/**\n * optional bool is_bmp = 6;\n * @return {boolean}\n */\nproto.ramius.MrtSegmentMarker.prototype.getIsBmp = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.MrtSegmentMarker} returns this\n */\nproto.ramius.MrtSegmentMarker.prototype.setIsBmp = function(value) {\n return jspb.Message.setProto3BooleanField(this, 6, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.RibSyncRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RibSyncRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RibSyncRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RibSyncRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RibSyncRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n sourcesList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RibSyncRequest}\n */\nproto.ramius.RibSyncRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RibSyncRequest;\n return proto.ramius.RibSyncRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RibSyncRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RibSyncRequest}\n */\nproto.ramius.RibSyncRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var values = /** @type {!Array} */ (reader.isDelimited() ? reader.readPackedEnum() : [reader.readEnum()]);\n for (var i = 0; i < values.length; i++) {\n msg.addSources(values[i]);\n }\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RibSyncRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RibSyncRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RibSyncRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RibSyncRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSourcesList();\n if (f.length > 0) {\n writer.writePackedEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated MrtSource sources = 1;\n * @return {!Array}\n */\nproto.ramius.RibSyncRequest.prototype.getSourcesList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.RibSyncRequest} returns this\n */\nproto.ramius.RibSyncRequest.prototype.setSourcesList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {!proto.ramius.MrtSource} value\n * @param {number=} opt_index\n * @return {!proto.ramius.RibSyncRequest} returns this\n */\nproto.ramius.RibSyncRequest.prototype.addSources = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.RibSyncRequest} returns this\n */\nproto.ramius.RibSyncRequest.prototype.clearSourcesList = function() {\n return this.setSourcesList([]);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.MrtSource = {\n INVALID_SOURCE: 0,\n QUAGGA_1: 1,\n QUAGGA_2: 2,\n QUAGGA_3: 3,\n QUAGGA_4: 4,\n QUAGGA_5: 5,\n QUAGGA_6: 6,\n QUAGGA_7: 7,\n QUAGGA_8: 8,\n QUAGGA_9: 9,\n QUAGGA_10: 10,\n QUAGGA_11: 11,\n QUAGGA_12: 12,\n QUAGGA_13: 13,\n QUAGGA_14: 14,\n QUAGGA_15: 15,\n QUAGGA_16: 16,\n QUAGGA_17: 17,\n QUAGGA_18: 18,\n QUAGGA_19: 19,\n QUAGGA_20: 20,\n QUAGGA_21: 21,\n QUAGGA_22: 22,\n QUAGGA_23: 23,\n QUAGGA_24: 24,\n QUAGGA_25: 25,\n QUAGGA_26: 26,\n QUAGGA_27: 27,\n QUAGGA_28: 28,\n QUAGGA_29: 29,\n QUAGGA_30: 30,\n QUAGGA_31: 31,\n QUAGGA_32: 32,\n QUAGGA_33: 33,\n QUAGGA_34: 34,\n QUAGGA_35: 35,\n QUAGGA_36: 36,\n QUAGGA_37: 37,\n QUAGGA_38: 38,\n QUAGGA_39: 39,\n QUAGGA_40: 40,\n QUAGGA_41: 41,\n QUAGGA_42: 42,\n QUAGGA_43: 43,\n QUAGGA_44: 44,\n QUAGGA_45: 45,\n QUAGGA_46: 46,\n QUAGGA_47: 47,\n QUAGGA_48: 48,\n QUAGGA_49: 49,\n QUAGGA_50: 50,\n QUAGGA_51: 51,\n QUAGGA_52: 52,\n QUAGGA_53: 53,\n QUAGGA_54: 54,\n QUAGGA_55: 55,\n QUAGGA_56: 56,\n QUAGGA_57: 57,\n QUAGGA_58: 58,\n QUAGGA_59: 59,\n QUAGGA_60: 60,\n QUAGGA_61: 61,\n QUAGGA_62: 62,\n QUAGGA_63: 63,\n QUAGGA_64: 64,\n QUAGGA_65: 65,\n QUAGGA_66: 66,\n QUAGGA_67: 67,\n QUAGGA_68: 68,\n QUAGGA_69: 69,\n QUAGGA_70: 70,\n QUAGGA_71: 71,\n QUAGGA_72: 72,\n QUAGGA_73: 73,\n QUAGGA_74: 74,\n QUAGGA_75: 75,\n QUAGGA_76: 76,\n QUAGGA_77: 77,\n QUAGGA_78: 78,\n QUAGGA_79: 79,\n QUAGGA_80: 80,\n QUAGGA_81: 81,\n QUAGGA_82: 82,\n QUAGGA_83: 83,\n QUAGGA_84: 84,\n QUAGGA_85: 85,\n QUAGGA_86: 86,\n QUAGGA_87: 87,\n QUAGGA_88: 88,\n QUAGGA_89: 89,\n QUAGGA_90: 90,\n QUAGGA_91: 91,\n QUAGGA_92: 92,\n QUAGGA_93: 93,\n QUAGGA_94: 94,\n QUAGGA_95: 95,\n QUAGGA_96: 96,\n QUAGGA_97: 97,\n QUAGGA_98: 98,\n QUAGGA_99: 99,\n RIPE: 100,\n ROUTEVIEWS: 101,\n BMP_1: 201,\n BMP_2: 202,\n BMP_3: 203,\n BMP_4: 204,\n BMP_5: 205,\n BMP_6: 206,\n BMP_7: 207,\n BMP_8: 208,\n BMP_9: 209,\n BMP_10: 210,\n BMP_11: 211,\n BMP_12: 212,\n BMP_13: 213,\n BMP_14: 214,\n BMP_15: 215,\n BMP_16: 216,\n BMP_17: 217,\n BMP_18: 218,\n BMP_19: 219,\n BMP_20: 220,\n BMP_21: 221,\n BMP_22: 222,\n BMP_23: 223,\n BMP_24: 224,\n BMP_25: 225,\n BMP_26: 226,\n BMP_27: 227,\n BMP_28: 228,\n BMP_29: 229,\n BMP_30: 230,\n BMP_31: 231,\n BMP_32: 232,\n BMP_33: 233,\n BMP_34: 234,\n BMP_35: 235,\n BMP_36: 236,\n BMP_37: 237,\n BMP_38: 238,\n BMP_39: 239,\n BMP_40: 240,\n BMP_41: 241,\n BMP_42: 242,\n BMP_43: 243,\n BMP_44: 244,\n BMP_45: 245,\n BMP_46: 246,\n BMP_47: 247,\n BMP_48: 248,\n BMP_49: 249,\n BMP_50: 250,\n BMP_51: 251,\n BMP_52: 252,\n BMP_53: 253,\n BMP_54: 254,\n BMP_55: 255,\n BMP_56: 256,\n BMP_57: 257,\n BMP_58: 258,\n BMP_59: 259,\n BMP_60: 260,\n BMP_61: 261,\n BMP_62: 262,\n BMP_63: 263,\n BMP_64: 264,\n BMP_65: 265,\n BMP_66: 266,\n BMP_67: 267,\n BMP_68: 268,\n BMP_69: 269,\n BMP_70: 270,\n BMP_71: 271,\n BMP_72: 272,\n BMP_73: 273,\n BMP_74: 274,\n BMP_75: 275,\n BMP_76: 276,\n BMP_77: 277,\n BMP_78: 278,\n BMP_79: 279,\n BMP_80: 280,\n BMP_81: 281,\n BMP_82: 282,\n BMP_83: 283,\n BMP_84: 284,\n BMP_85: 285,\n BMP_86: 286,\n BMP_87: 287,\n BMP_88: 288,\n BMP_89: 289,\n BMP_90: 290,\n BMP_91: 291,\n BMP_92: 292,\n BMP_93: 293,\n BMP_94: 294,\n BMP_95: 295,\n BMP_96: 296,\n BMP_97: 297,\n BMP_98: 298,\n BMP_99: 299,\n BMP_MAX: 300\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.MrtSegmentType = {\n INVALID_SEG_TYPE: 0,\n RIB: 1,\n UPDATE: 2\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: peering_info.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar common_pb = require('./common_pb.js');\ngoog.object.extend(proto, common_pb);\nvar mrt_pb = require('./mrt_pb.js');\ngoog.object.extend(proto, mrt_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\nvar google_protobuf_duration_pb = require('google-protobuf/google/protobuf/duration_pb.js');\ngoog.object.extend(proto, google_protobuf_duration_pb);\ngoog.exportSymbol('proto.ramius.BgpAfi', null, global);\ngoog.exportSymbol('proto.ramius.BgpAfiCap', null, global);\ngoog.exportSymbol('proto.ramius.BgpCapSendReceiveCodes', null, global);\ngoog.exportSymbol('proto.ramius.BgpIanaAfi', null, global);\ngoog.exportSymbol('proto.ramius.BgpIanaSafi', null, global);\ngoog.exportSymbol('proto.ramius.BgpState', null, global);\ngoog.exportSymbol('proto.ramius.Peer', null, global);\ngoog.exportSymbol('proto.ramius.PeerAFStats', null, global);\ngoog.exportSymbol('proto.ramius.PeerConnectionState', null, global);\ngoog.exportSymbol('proto.ramius.PeerFilter', null, global);\ngoog.exportSymbol('proto.ramius.PeerFilter.FilterTypeCase', null, global);\ngoog.exportSymbol('proto.ramius.PeerInfoRecDelete', null, global);\ngoog.exportSymbol('proto.ramius.PeerInfoReq', null, global);\ngoog.exportSymbol('proto.ramius.PeerInfoResp', null, global);\ngoog.exportSymbol('proto.ramius.PeerIpList', null, global);\ngoog.exportSymbol('proto.ramius.PeerStateUpdate', null, global);\ngoog.exportSymbol('proto.ramius.PeeringInfo', null, global);\ngoog.exportSymbol('proto.ramius.PuuidList', null, global);\ngoog.exportSymbol('proto.ramius.SessionInfo', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Peer = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.Peer, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Peer.displayName = 'proto.ramius.Peer';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.BgpAfiCap = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.BgpAfiCap, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.BgpAfiCap.displayName = 'proto.ramius.BgpAfiCap';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SessionInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SessionInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SessionInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SessionInfo.displayName = 'proto.ramius.SessionInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerAFStats = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerAFStats, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerAFStats.displayName = 'proto.ramius.PeerAFStats';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeeringInfo = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeeringInfo.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeeringInfo, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeeringInfo.displayName = 'proto.ramius.PeeringInfo';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PuuidList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PuuidList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PuuidList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PuuidList.displayName = 'proto.ramius.PuuidList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerIpList = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerIpList.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerIpList, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerIpList.displayName = 'proto.ramius.PeerIpList';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerFilter = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, proto.ramius.PeerFilter.oneofGroups_);\n};\ngoog.inherits(proto.ramius.PeerFilter, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerFilter.displayName = 'proto.ramius.PeerFilter';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerInfoReq = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerInfoReq, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerInfoReq.displayName = 'proto.ramius.PeerInfoReq';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerInfoResp = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.PeerInfoResp.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.PeerInfoResp, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerInfoResp.displayName = 'proto.ramius.PeerInfoResp';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerInfoRecDelete = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerInfoRecDelete, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerInfoRecDelete.displayName = 'proto.ramius.PeerInfoRecDelete';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.PeerStateUpdate = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.PeerStateUpdate, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.PeerStateUpdate.displayName = 'proto.ramius.PeerStateUpdate';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Peer.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Peer.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Peer} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Peer.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerIp: (f = msg.getPeerIp()) && common_pb.Prefix.toObject(includeInstance, f),\n peerBgpId: (f = msg.getPeerBgpId()) && common_pb.Prefix.toObject(includeInstance, f),\n asn: jspb.Message.getFieldWithDefault(msg, 3, 0),\n description: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n source: jspb.Message.getFieldWithDefault(msg, 5, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Peer}\n */\nproto.ramius.Peer.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Peer;\n return proto.ramius.Peer.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Peer} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Peer}\n */\nproto.ramius.Peer.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new common_pb.Prefix;\n reader.readMessage(value,common_pb.Prefix.deserializeBinaryFromReader);\n msg.setPeerIp(value);\n break;\n case 2:\n var value = new common_pb.Prefix;\n reader.readMessage(value,common_pb.Prefix.deserializeBinaryFromReader);\n msg.setPeerBgpId(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setAsn(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.MrtSource} */ (reader.readEnum());\n msg.setSource(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Peer.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Peer.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Peer} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Peer.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerIp();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n common_pb.Prefix.serializeBinaryToWriter\n );\n }\n f = message.getPeerBgpId();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n common_pb.Prefix.serializeBinaryToWriter\n );\n }\n f = message.getAsn();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getSource();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n};\n\n\n/**\n * optional Prefix peer_ip = 1;\n * @return {?proto.ramius.Prefix}\n */\nproto.ramius.Peer.prototype.getPeerIp = function() {\n return /** @type{?proto.ramius.Prefix} */ (\n jspb.Message.getWrapperField(this, common_pb.Prefix, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Prefix|undefined} value\n * @return {!proto.ramius.Peer} returns this\n*/\nproto.ramius.Peer.prototype.setPeerIp = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Peer} returns this\n */\nproto.ramius.Peer.prototype.clearPeerIp = function() {\n return this.setPeerIp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Peer.prototype.hasPeerIp = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Prefix peer_bgp_id = 2;\n * @return {?proto.ramius.Prefix}\n */\nproto.ramius.Peer.prototype.getPeerBgpId = function() {\n return /** @type{?proto.ramius.Prefix} */ (\n jspb.Message.getWrapperField(this, common_pb.Prefix, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Prefix|undefined} value\n * @return {!proto.ramius.Peer} returns this\n*/\nproto.ramius.Peer.prototype.setPeerBgpId = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Peer} returns this\n */\nproto.ramius.Peer.prototype.clearPeerBgpId = function() {\n return this.setPeerBgpId(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Peer.prototype.hasPeerBgpId = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional uint32 asn = 3;\n * @return {number}\n */\nproto.ramius.Peer.prototype.getAsn = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Peer} returns this\n */\nproto.ramius.Peer.prototype.setAsn = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional string description = 4;\n * @return {string}\n */\nproto.ramius.Peer.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Peer} returns this\n */\nproto.ramius.Peer.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional MrtSource source = 5;\n * @return {!proto.ramius.MrtSource}\n */\nproto.ramius.Peer.prototype.getSource = function() {\n return /** @type {!proto.ramius.MrtSource} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.MrtSource} value\n * @return {!proto.ramius.Peer} returns this\n */\nproto.ramius.Peer.prototype.setSource = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.BgpAfiCap.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.BgpAfiCap.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.BgpAfiCap} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpAfiCap.toObject = function(includeInstance, msg) {\n var f, obj = {\n afi: jspb.Message.getFieldWithDefault(msg, 1, 0),\n afiString: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n sendReceive: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.BgpAfiCap}\n */\nproto.ramius.BgpAfiCap.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.BgpAfiCap;\n return proto.ramius.BgpAfiCap.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.BgpAfiCap} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.BgpAfiCap}\n */\nproto.ramius.BgpAfiCap.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.BgpAfi} */ (reader.readEnum());\n msg.setAfi(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAfiString(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (reader.readEnum());\n msg.setSendReceive(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.BgpAfiCap.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.BgpAfiCap.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.BgpAfiCap} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.BgpAfiCap.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAfi();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getAfiString();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getSendReceive();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional BgpAfi afi = 1;\n * @return {!proto.ramius.BgpAfi}\n */\nproto.ramius.BgpAfiCap.prototype.getAfi = function() {\n return /** @type {!proto.ramius.BgpAfi} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfi} value\n * @return {!proto.ramius.BgpAfiCap} returns this\n */\nproto.ramius.BgpAfiCap.prototype.setAfi = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional string afi_string = 2;\n * @return {string}\n */\nproto.ramius.BgpAfiCap.prototype.getAfiString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.BgpAfiCap} returns this\n */\nproto.ramius.BgpAfiCap.prototype.setAfiString = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional BgpCapSendReceiveCodes send_receive = 3;\n * @return {!proto.ramius.BgpCapSendReceiveCodes}\n */\nproto.ramius.BgpAfiCap.prototype.getSendReceive = function() {\n return /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpCapSendReceiveCodes} value\n * @return {!proto.ramius.BgpAfiCap} returns this\n */\nproto.ramius.BgpAfiCap.prototype.setSendReceive = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SessionInfo.repeatedFields_ = [7,8,9];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SessionInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SessionInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SessionInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SessionInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n sessionState: jspb.Message.getFieldWithDefault(msg, 1, 0),\n upTime: (f = msg.getUpTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n fourOctetAsn: jspb.Message.getFieldWithDefault(msg, 3, 0),\n routeRefresh: jspb.Message.getFieldWithDefault(msg, 4, 0),\n routeRefreshOld: jspb.Message.getFieldWithDefault(msg, 5, 0),\n dynamic: jspb.Message.getFieldWithDefault(msg, 6, 0),\n mpbgpList: jspb.Message.toObjectList(msg.getMpbgpList(),\n proto.ramius.BgpAfiCap.toObject, includeInstance),\n addpathList: jspb.Message.toObjectList(msg.getAddpathList(),\n proto.ramius.BgpAfiCap.toObject, includeInstance),\n gracefulRestartList: jspb.Message.toObjectList(msg.getGracefulRestartList(),\n proto.ramius.BgpAfiCap.toObject, includeInstance),\n sessionsEstablished: jspb.Message.getFieldWithDefault(msg, 10, 0),\n sessionsDropped: jspb.Message.getFieldWithDefault(msg, 11, 0),\n lastResetTime: (f = msg.getLastResetTime()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n lastResetReason: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n puuid: jspb.Message.getFieldWithDefault(msg, 14, \"\"),\n upTimeDuration: (f = msg.getUpTimeDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f),\n lastResetDuration: (f = msg.getLastResetDuration()) && google_protobuf_duration_pb.Duration.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SessionInfo}\n */\nproto.ramius.SessionInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SessionInfo;\n return proto.ramius.SessionInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SessionInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SessionInfo}\n */\nproto.ramius.SessionInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.BgpState} */ (reader.readEnum());\n msg.setSessionState(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setUpTime(value);\n break;\n case 3:\n var value = /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (reader.readEnum());\n msg.setFourOctetAsn(value);\n break;\n case 4:\n var value = /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (reader.readEnum());\n msg.setRouteRefresh(value);\n break;\n case 5:\n var value = /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (reader.readEnum());\n msg.setRouteRefreshOld(value);\n break;\n case 6:\n var value = /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (reader.readEnum());\n msg.setDynamic(value);\n break;\n case 7:\n var value = new proto.ramius.BgpAfiCap;\n reader.readMessage(value,proto.ramius.BgpAfiCap.deserializeBinaryFromReader);\n msg.addMpbgp(value);\n break;\n case 8:\n var value = new proto.ramius.BgpAfiCap;\n reader.readMessage(value,proto.ramius.BgpAfiCap.deserializeBinaryFromReader);\n msg.addAddpath(value);\n break;\n case 9:\n var value = new proto.ramius.BgpAfiCap;\n reader.readMessage(value,proto.ramius.BgpAfiCap.deserializeBinaryFromReader);\n msg.addGracefulRestart(value);\n break;\n case 10:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setSessionsEstablished(value);\n break;\n case 11:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setSessionsDropped(value);\n break;\n case 12:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastResetTime(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setLastResetReason(value);\n break;\n case 14:\n var value = /** @type {string} */ (reader.readString());\n msg.setPuuid(value);\n break;\n case 15:\n var value = new google_protobuf_duration_pb.Duration;\n reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);\n msg.setUpTimeDuration(value);\n break;\n case 16:\n var value = new google_protobuf_duration_pb.Duration;\n reader.readMessage(value,google_protobuf_duration_pb.Duration.deserializeBinaryFromReader);\n msg.setLastResetDuration(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SessionInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SessionInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SessionInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SessionInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSessionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getUpTime();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getFourOctetAsn();\n if (f !== 0.0) {\n writer.writeEnum(\n 3,\n f\n );\n }\n f = message.getRouteRefresh();\n if (f !== 0.0) {\n writer.writeEnum(\n 4,\n f\n );\n }\n f = message.getRouteRefreshOld();\n if (f !== 0.0) {\n writer.writeEnum(\n 5,\n f\n );\n }\n f = message.getDynamic();\n if (f !== 0.0) {\n writer.writeEnum(\n 6,\n f\n );\n }\n f = message.getMpbgpList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 7,\n f,\n proto.ramius.BgpAfiCap.serializeBinaryToWriter\n );\n }\n f = message.getAddpathList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 8,\n f,\n proto.ramius.BgpAfiCap.serializeBinaryToWriter\n );\n }\n f = message.getGracefulRestartList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 9,\n f,\n proto.ramius.BgpAfiCap.serializeBinaryToWriter\n );\n }\n f = message.getSessionsEstablished();\n if (f !== 0) {\n writer.writeUint32(\n 10,\n f\n );\n }\n f = message.getSessionsDropped();\n if (f !== 0) {\n writer.writeUint32(\n 11,\n f\n );\n }\n f = message.getLastResetTime();\n if (f != null) {\n writer.writeMessage(\n 12,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getLastResetReason();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getPuuid();\n if (f.length > 0) {\n writer.writeString(\n 14,\n f\n );\n }\n f = message.getUpTimeDuration();\n if (f != null) {\n writer.writeMessage(\n 15,\n f,\n google_protobuf_duration_pb.Duration.serializeBinaryToWriter\n );\n }\n f = message.getLastResetDuration();\n if (f != null) {\n writer.writeMessage(\n 16,\n f,\n google_protobuf_duration_pb.Duration.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional BgpState session_state = 1;\n * @return {!proto.ramius.BgpState}\n */\nproto.ramius.SessionInfo.prototype.getSessionState = function() {\n return /** @type {!proto.ramius.BgpState} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpState} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setSessionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp up_time = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.SessionInfo.prototype.getUpTime = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setUpTime = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearUpTime = function() {\n return this.setUpTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SessionInfo.prototype.hasUpTime = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional BgpCapSendReceiveCodes four_octet_asn = 3;\n * @return {!proto.ramius.BgpCapSendReceiveCodes}\n */\nproto.ramius.SessionInfo.prototype.getFourOctetAsn = function() {\n return /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpCapSendReceiveCodes} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setFourOctetAsn = function(value) {\n return jspb.Message.setProto3EnumField(this, 3, value);\n};\n\n\n/**\n * optional BgpCapSendReceiveCodes route_refresh = 4;\n * @return {!proto.ramius.BgpCapSendReceiveCodes}\n */\nproto.ramius.SessionInfo.prototype.getRouteRefresh = function() {\n return /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpCapSendReceiveCodes} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setRouteRefresh = function(value) {\n return jspb.Message.setProto3EnumField(this, 4, value);\n};\n\n\n/**\n * optional BgpCapSendReceiveCodes route_refresh_old = 5;\n * @return {!proto.ramius.BgpCapSendReceiveCodes}\n */\nproto.ramius.SessionInfo.prototype.getRouteRefreshOld = function() {\n return /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (jspb.Message.getFieldWithDefault(this, 5, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpCapSendReceiveCodes} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setRouteRefreshOld = function(value) {\n return jspb.Message.setProto3EnumField(this, 5, value);\n};\n\n\n/**\n * optional BgpCapSendReceiveCodes dynamic = 6;\n * @return {!proto.ramius.BgpCapSendReceiveCodes}\n */\nproto.ramius.SessionInfo.prototype.getDynamic = function() {\n return /** @type {!proto.ramius.BgpCapSendReceiveCodes} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpCapSendReceiveCodes} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setDynamic = function(value) {\n return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * repeated BgpAfiCap mpbgp = 7;\n * @return {!Array}\n */\nproto.ramius.SessionInfo.prototype.getMpbgpList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpAfiCap, 7));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setMpbgpList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 7, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfiCap=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpAfiCap}\n */\nproto.ramius.SessionInfo.prototype.addMpbgp = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.ramius.BgpAfiCap, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearMpbgpList = function() {\n return this.setMpbgpList([]);\n};\n\n\n/**\n * repeated BgpAfiCap addpath = 8;\n * @return {!Array}\n */\nproto.ramius.SessionInfo.prototype.getAddpathList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpAfiCap, 8));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setAddpathList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 8, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfiCap=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpAfiCap}\n */\nproto.ramius.SessionInfo.prototype.addAddpath = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.ramius.BgpAfiCap, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearAddpathList = function() {\n return this.setAddpathList([]);\n};\n\n\n/**\n * repeated BgpAfiCap graceful_restart = 9;\n * @return {!Array}\n */\nproto.ramius.SessionInfo.prototype.getGracefulRestartList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.BgpAfiCap, 9));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setGracefulRestartList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 9, value);\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfiCap=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.BgpAfiCap}\n */\nproto.ramius.SessionInfo.prototype.addGracefulRestart = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.ramius.BgpAfiCap, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearGracefulRestartList = function() {\n return this.setGracefulRestartList([]);\n};\n\n\n/**\n * optional uint32 sessions_established = 10;\n * @return {number}\n */\nproto.ramius.SessionInfo.prototype.getSessionsEstablished = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setSessionsEstablished = function(value) {\n return jspb.Message.setProto3IntField(this, 10, value);\n};\n\n\n/**\n * optional uint32 sessions_dropped = 11;\n * @return {number}\n */\nproto.ramius.SessionInfo.prototype.getSessionsDropped = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setSessionsDropped = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_reset_time = 12;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.SessionInfo.prototype.getLastResetTime = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 12));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setLastResetTime = function(value) {\n return jspb.Message.setWrapperField(this, 12, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearLastResetTime = function() {\n return this.setLastResetTime(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SessionInfo.prototype.hasLastResetTime = function() {\n return jspb.Message.getField(this, 12) != null;\n};\n\n\n/**\n * optional string last_reset_reason = 13;\n * @return {string}\n */\nproto.ramius.SessionInfo.prototype.getLastResetReason = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setLastResetReason = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string puuid = 14;\n * @return {string}\n */\nproto.ramius.SessionInfo.prototype.getPuuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.setPuuid = function(value) {\n return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n/**\n * optional google.protobuf.Duration up_time_duration = 15;\n * @return {?proto.google.protobuf.Duration}\n */\nproto.ramius.SessionInfo.prototype.getUpTimeDuration = function() {\n return /** @type{?proto.google.protobuf.Duration} */ (\n jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 15));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Duration|undefined} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setUpTimeDuration = function(value) {\n return jspb.Message.setWrapperField(this, 15, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearUpTimeDuration = function() {\n return this.setUpTimeDuration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SessionInfo.prototype.hasUpTimeDuration = function() {\n return jspb.Message.getField(this, 15) != null;\n};\n\n\n/**\n * optional google.protobuf.Duration last_reset_duration = 16;\n * @return {?proto.google.protobuf.Duration}\n */\nproto.ramius.SessionInfo.prototype.getLastResetDuration = function() {\n return /** @type{?proto.google.protobuf.Duration} */ (\n jspb.Message.getWrapperField(this, google_protobuf_duration_pb.Duration, 16));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Duration|undefined} value\n * @return {!proto.ramius.SessionInfo} returns this\n*/\nproto.ramius.SessionInfo.prototype.setLastResetDuration = function(value) {\n return jspb.Message.setWrapperField(this, 16, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SessionInfo} returns this\n */\nproto.ramius.SessionInfo.prototype.clearLastResetDuration = function() {\n return this.setLastResetDuration(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SessionInfo.prototype.hasLastResetDuration = function() {\n return jspb.Message.getField(this, 16) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerAFStats.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerAFStats.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerAFStats} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerAFStats.toObject = function(includeInstance, msg) {\n var f, obj = {\n afi: jspb.Message.getFieldWithDefault(msg, 1, 0),\n afiString: jspb.Message.getFieldWithDefault(msg, 2, \"\"),\n prefixesAccepted: jspb.Message.getFieldWithDefault(msg, 3, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerAFStats}\n */\nproto.ramius.PeerAFStats.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerAFStats;\n return proto.ramius.PeerAFStats.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerAFStats} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerAFStats}\n */\nproto.ramius.PeerAFStats.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.BgpAfi} */ (reader.readEnum());\n msg.setAfi(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setAfiString(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setPrefixesAccepted(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerAFStats.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerAFStats.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerAFStats} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerAFStats.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getAfi();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getAfiString();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n f = message.getPrefixesAccepted();\n if (f !== 0) {\n writer.writeUint32(\n 3,\n f\n );\n }\n};\n\n\n/**\n * optional BgpAfi afi = 1;\n * @return {!proto.ramius.BgpAfi}\n */\nproto.ramius.PeerAFStats.prototype.getAfi = function() {\n return /** @type {!proto.ramius.BgpAfi} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpAfi} value\n * @return {!proto.ramius.PeerAFStats} returns this\n */\nproto.ramius.PeerAFStats.prototype.setAfi = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional string afi_string = 2;\n * @return {string}\n */\nproto.ramius.PeerAFStats.prototype.getAfiString = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerAFStats} returns this\n */\nproto.ramius.PeerAFStats.prototype.setAfiString = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * optional uint32 prefixes_accepted = 3;\n * @return {number}\n */\nproto.ramius.PeerAFStats.prototype.getPrefixesAccepted = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PeerAFStats} returns this\n */\nproto.ramius.PeerAFStats.prototype.setPrefixesAccepted = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeeringInfo.repeatedFields_ = [4];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeeringInfo.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeeringInfo.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeeringInfo} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeeringInfo.toObject = function(includeInstance, msg) {\n var f, obj = {\n localPeer: (f = msg.getLocalPeer()) && proto.ramius.Peer.toObject(includeInstance, f),\n remotePeer: (f = msg.getRemotePeer()) && proto.ramius.Peer.toObject(includeInstance, f),\n sessionInfo: (f = msg.getSessionInfo()) && proto.ramius.SessionInfo.toObject(includeInstance, f),\n peerStatsList: jspb.Message.toObjectList(msg.getPeerStatsList(),\n proto.ramius.PeerAFStats.toObject, includeInstance),\n orgUuid: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n statsCollectedAt: (f = msg.getStatsCollectedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeeringInfo}\n */\nproto.ramius.PeeringInfo.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeeringInfo;\n return proto.ramius.PeeringInfo.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeeringInfo} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeeringInfo}\n */\nproto.ramius.PeeringInfo.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.Peer;\n reader.readMessage(value,proto.ramius.Peer.deserializeBinaryFromReader);\n msg.setLocalPeer(value);\n break;\n case 2:\n var value = new proto.ramius.Peer;\n reader.readMessage(value,proto.ramius.Peer.deserializeBinaryFromReader);\n msg.setRemotePeer(value);\n break;\n case 3:\n var value = new proto.ramius.SessionInfo;\n reader.readMessage(value,proto.ramius.SessionInfo.deserializeBinaryFromReader);\n msg.setSessionInfo(value);\n break;\n case 4:\n var value = new proto.ramius.PeerAFStats;\n reader.readMessage(value,proto.ramius.PeerAFStats.deserializeBinaryFromReader);\n msg.addPeerStats(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgUuid(value);\n break;\n case 6:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setStatsCollectedAt(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeeringInfo.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeeringInfo.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeeringInfo} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeeringInfo.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getLocalPeer();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.Peer.serializeBinaryToWriter\n );\n }\n f = message.getRemotePeer();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.Peer.serializeBinaryToWriter\n );\n }\n f = message.getSessionInfo();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.SessionInfo.serializeBinaryToWriter\n );\n }\n f = message.getPeerStatsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 4,\n f,\n proto.ramius.PeerAFStats.serializeBinaryToWriter\n );\n }\n f = message.getOrgUuid();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getStatsCollectedAt();\n if (f != null) {\n writer.writeMessage(\n 6,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional Peer local_peer = 1;\n * @return {?proto.ramius.Peer}\n */\nproto.ramius.PeeringInfo.prototype.getLocalPeer = function() {\n return /** @type{?proto.ramius.Peer} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Peer, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Peer|undefined} value\n * @return {!proto.ramius.PeeringInfo} returns this\n*/\nproto.ramius.PeeringInfo.prototype.setLocalPeer = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.clearLocalPeer = function() {\n return this.setLocalPeer(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeeringInfo.prototype.hasLocalPeer = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional Peer remote_peer = 2;\n * @return {?proto.ramius.Peer}\n */\nproto.ramius.PeeringInfo.prototype.getRemotePeer = function() {\n return /** @type{?proto.ramius.Peer} */ (\n jspb.Message.getWrapperField(this, proto.ramius.Peer, 2));\n};\n\n\n/**\n * @param {?proto.ramius.Peer|undefined} value\n * @return {!proto.ramius.PeeringInfo} returns this\n*/\nproto.ramius.PeeringInfo.prototype.setRemotePeer = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.clearRemotePeer = function() {\n return this.setRemotePeer(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeeringInfo.prototype.hasRemotePeer = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional SessionInfo session_info = 3;\n * @return {?proto.ramius.SessionInfo}\n */\nproto.ramius.PeeringInfo.prototype.getSessionInfo = function() {\n return /** @type{?proto.ramius.SessionInfo} */ (\n jspb.Message.getWrapperField(this, proto.ramius.SessionInfo, 3));\n};\n\n\n/**\n * @param {?proto.ramius.SessionInfo|undefined} value\n * @return {!proto.ramius.PeeringInfo} returns this\n*/\nproto.ramius.PeeringInfo.prototype.setSessionInfo = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.clearSessionInfo = function() {\n return this.setSessionInfo(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeeringInfo.prototype.hasSessionInfo = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * repeated PeerAFStats peer_stats = 4;\n * @return {!Array}\n */\nproto.ramius.PeeringInfo.prototype.getPeerStatsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PeerAFStats, 4));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeeringInfo} returns this\n*/\nproto.ramius.PeeringInfo.prototype.setPeerStatsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 4, value);\n};\n\n\n/**\n * @param {!proto.ramius.PeerAFStats=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeerAFStats}\n */\nproto.ramius.PeeringInfo.prototype.addPeerStats = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.ramius.PeerAFStats, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.clearPeerStatsList = function() {\n return this.setPeerStatsList([]);\n};\n\n\n/**\n * optional string org_uuid = 5;\n * @return {string}\n */\nproto.ramius.PeeringInfo.prototype.getOrgUuid = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.setOrgUuid = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp stats_collected_at = 6;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.PeeringInfo.prototype.getStatsCollectedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 6));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.PeeringInfo} returns this\n*/\nproto.ramius.PeeringInfo.prototype.setStatsCollectedAt = function(value) {\n return jspb.Message.setWrapperField(this, 6, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeeringInfo} returns this\n */\nproto.ramius.PeeringInfo.prototype.clearStatsCollectedAt = function() {\n return this.setStatsCollectedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeeringInfo.prototype.hasStatsCollectedAt = function() {\n return jspb.Message.getField(this, 6) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PuuidList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PuuidList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PuuidList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PuuidList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PuuidList.toObject = function(includeInstance, msg) {\n var f, obj = {\n puuidsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PuuidList}\n */\nproto.ramius.PuuidList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PuuidList;\n return proto.ramius.PuuidList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PuuidList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PuuidList}\n */\nproto.ramius.PuuidList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addPuuids(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PuuidList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PuuidList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PuuidList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PuuidList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPuuidsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string puuids = 1;\n * @return {!Array}\n */\nproto.ramius.PuuidList.prototype.getPuuidsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PuuidList} returns this\n */\nproto.ramius.PuuidList.prototype.setPuuidsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PuuidList} returns this\n */\nproto.ramius.PuuidList.prototype.addPuuids = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PuuidList} returns this\n */\nproto.ramius.PuuidList.prototype.clearPuuidsList = function() {\n return this.setPuuidsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerIpList.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerIpList.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerIpList.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerIpList} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerIpList.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerIpsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerIpList}\n */\nproto.ramius.PeerIpList.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerIpList;\n return proto.ramius.PeerIpList.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerIpList} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerIpList}\n */\nproto.ramius.PeerIpList.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addPeerIps(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerIpList.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerIpList.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerIpList} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerIpList.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerIpsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string peer_ips = 1;\n * @return {!Array}\n */\nproto.ramius.PeerIpList.prototype.getPeerIpsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerIpList} returns this\n */\nproto.ramius.PeerIpList.prototype.setPeerIpsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeerIpList} returns this\n */\nproto.ramius.PeerIpList.prototype.addPeerIps = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerIpList} returns this\n */\nproto.ramius.PeerIpList.prototype.clearPeerIpsList = function() {\n return this.setPeerIpsList([]);\n};\n\n\n\n/**\n * Oneof group definitions for this message. Each group defines the field\n * numbers belonging to that group. When of these fields' value is set, all\n * other fields in the group are cleared. During deserialization, if multiple\n * fields are encountered for a group, only the last value seen will be kept.\n * @private {!Array>}\n * @const\n */\nproto.ramius.PeerFilter.oneofGroups_ = [[1,2,3]];\n\n/**\n * @enum {number}\n */\nproto.ramius.PeerFilter.FilterTypeCase = {\n FILTER_TYPE_NOT_SET: 0,\n ALL: 1,\n PUUID_LIST: 2,\n PEER_IP_LIST: 3\n};\n\n/**\n * @return {proto.ramius.PeerFilter.FilterTypeCase}\n */\nproto.ramius.PeerFilter.prototype.getFilterTypeCase = function() {\n return /** @type {proto.ramius.PeerFilter.FilterTypeCase} */(jspb.Message.computeOneofCase(this, proto.ramius.PeerFilter.oneofGroups_[0]));\n};\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerFilter.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerFilter.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerFilter} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerFilter.toObject = function(includeInstance, msg) {\n var f, obj = {\n all: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),\n puuidList: (f = msg.getPuuidList()) && proto.ramius.PuuidList.toObject(includeInstance, f),\n peerIpList: (f = msg.getPeerIpList()) && proto.ramius.PeerIpList.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerFilter}\n */\nproto.ramius.PeerFilter.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerFilter;\n return proto.ramius.PeerFilter.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerFilter} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerFilter}\n */\nproto.ramius.PeerFilter.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setAll(value);\n break;\n case 2:\n var value = new proto.ramius.PuuidList;\n reader.readMessage(value,proto.ramius.PuuidList.deserializeBinaryFromReader);\n msg.setPuuidList(value);\n break;\n case 3:\n var value = new proto.ramius.PeerIpList;\n reader.readMessage(value,proto.ramius.PeerIpList.deserializeBinaryFromReader);\n msg.setPeerIpList(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerFilter.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerFilter.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerFilter} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerFilter.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = /** @type {boolean} */ (jspb.Message.getField(message, 1));\n if (f != null) {\n writer.writeBool(\n 1,\n f\n );\n }\n f = message.getPuuidList();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n proto.ramius.PuuidList.serializeBinaryToWriter\n );\n }\n f = message.getPeerIpList();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n proto.ramius.PeerIpList.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional bool all = 1;\n * @return {boolean}\n */\nproto.ramius.PeerFilter.prototype.getAll = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.PeerFilter} returns this\n */\nproto.ramius.PeerFilter.prototype.setAll = function(value) {\n return jspb.Message.setOneofField(this, 1, proto.ramius.PeerFilter.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the field making it undefined.\n * @return {!proto.ramius.PeerFilter} returns this\n */\nproto.ramius.PeerFilter.prototype.clearAll = function() {\n return jspb.Message.setOneofField(this, 1, proto.ramius.PeerFilter.oneofGroups_[0], undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerFilter.prototype.hasAll = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional PuuidList puuid_list = 2;\n * @return {?proto.ramius.PuuidList}\n */\nproto.ramius.PeerFilter.prototype.getPuuidList = function() {\n return /** @type{?proto.ramius.PuuidList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PuuidList, 2));\n};\n\n\n/**\n * @param {?proto.ramius.PuuidList|undefined} value\n * @return {!proto.ramius.PeerFilter} returns this\n*/\nproto.ramius.PeerFilter.prototype.setPuuidList = function(value) {\n return jspb.Message.setOneofWrapperField(this, 2, proto.ramius.PeerFilter.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerFilter} returns this\n */\nproto.ramius.PeerFilter.prototype.clearPuuidList = function() {\n return this.setPuuidList(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerFilter.prototype.hasPuuidList = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional PeerIpList peer_ip_list = 3;\n * @return {?proto.ramius.PeerIpList}\n */\nproto.ramius.PeerFilter.prototype.getPeerIpList = function() {\n return /** @type{?proto.ramius.PeerIpList} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerIpList, 3));\n};\n\n\n/**\n * @param {?proto.ramius.PeerIpList|undefined} value\n * @return {!proto.ramius.PeerFilter} returns this\n*/\nproto.ramius.PeerFilter.prototype.setPeerIpList = function(value) {\n return jspb.Message.setOneofWrapperField(this, 3, proto.ramius.PeerFilter.oneofGroups_[0], value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerFilter} returns this\n */\nproto.ramius.PeerFilter.prototype.clearPeerIpList = function() {\n return this.setPeerIpList(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerFilter.prototype.hasPeerIpList = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerInfoReq.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerInfoReq.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerInfoReq} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoReq.toObject = function(includeInstance, msg) {\n var f, obj = {\n filter: (f = msg.getFilter()) && proto.ramius.PeerFilter.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerInfoReq}\n */\nproto.ramius.PeerInfoReq.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerInfoReq;\n return proto.ramius.PeerInfoReq.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerInfoReq} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerInfoReq}\n */\nproto.ramius.PeerInfoReq.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PeerFilter;\n reader.readMessage(value,proto.ramius.PeerFilter.deserializeBinaryFromReader);\n msg.setFilter(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerInfoReq.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerInfoReq.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerInfoReq} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoReq.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFilter();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.PeerFilter.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional PeerFilter filter = 1;\n * @return {?proto.ramius.PeerFilter}\n */\nproto.ramius.PeerInfoReq.prototype.getFilter = function() {\n return /** @type{?proto.ramius.PeerFilter} */ (\n jspb.Message.getWrapperField(this, proto.ramius.PeerFilter, 1));\n};\n\n\n/**\n * @param {?proto.ramius.PeerFilter|undefined} value\n * @return {!proto.ramius.PeerInfoReq} returns this\n*/\nproto.ramius.PeerInfoReq.prototype.setFilter = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerInfoReq} returns this\n */\nproto.ramius.PeerInfoReq.prototype.clearFilter = function() {\n return this.setFilter(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerInfoReq.prototype.hasFilter = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.PeerInfoResp.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerInfoResp.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerInfoResp.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerInfoResp} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoResp.toObject = function(includeInstance, msg) {\n var f, obj = {\n recordsList: jspb.Message.toObjectList(msg.getRecordsList(),\n proto.ramius.PeeringInfo.toObject, includeInstance),\n numRecordsReturned: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerInfoResp}\n */\nproto.ramius.PeerInfoResp.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerInfoResp;\n return proto.ramius.PeerInfoResp.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerInfoResp} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerInfoResp}\n */\nproto.ramius.PeerInfoResp.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.PeeringInfo;\n reader.readMessage(value,proto.ramius.PeeringInfo.deserializeBinaryFromReader);\n msg.addRecords(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setNumRecordsReturned(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerInfoResp.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerInfoResp.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerInfoResp} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoResp.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getRecordsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.PeeringInfo.serializeBinaryToWriter\n );\n }\n f = message.getNumRecordsReturned();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * repeated PeeringInfo records = 1;\n * @return {!Array}\n */\nproto.ramius.PeerInfoResp.prototype.getRecordsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.PeeringInfo, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.PeerInfoResp} returns this\n*/\nproto.ramius.PeerInfoResp.prototype.setRecordsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.PeeringInfo=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.PeeringInfo}\n */\nproto.ramius.PeerInfoResp.prototype.addRecords = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.PeeringInfo, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.PeerInfoResp} returns this\n */\nproto.ramius.PeerInfoResp.prototype.clearRecordsList = function() {\n return this.setRecordsList([]);\n};\n\n\n/**\n * optional int32 num_records_returned = 2;\n * @return {number}\n */\nproto.ramius.PeerInfoResp.prototype.getNumRecordsReturned = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.PeerInfoResp} returns this\n */\nproto.ramius.PeerInfoResp.prototype.setNumRecordsReturned = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerInfoRecDelete.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerInfoRecDelete.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerInfoRecDelete} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoRecDelete.toObject = function(includeInstance, msg) {\n var f, obj = {\n key: jspb.Message.getFieldWithDefault(msg, 1, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerInfoRecDelete}\n */\nproto.ramius.PeerInfoRecDelete.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerInfoRecDelete;\n return proto.ramius.PeerInfoRecDelete.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerInfoRecDelete} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerInfoRecDelete}\n */\nproto.ramius.PeerInfoRecDelete.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setKey(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerInfoRecDelete.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerInfoRecDelete.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerInfoRecDelete} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerInfoRecDelete.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getKey();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional string key = 1;\n * @return {string}\n */\nproto.ramius.PeerInfoRecDelete.prototype.getKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerInfoRecDelete} returns this\n */\nproto.ramius.PeerInfoRecDelete.prototype.setKey = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.PeerStateUpdate.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.PeerStateUpdate.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.PeerStateUpdate} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerStateUpdate.toObject = function(includeInstance, msg) {\n var f, obj = {\n peerIp: (f = msg.getPeerIp()) && common_pb.Prefix.toObject(includeInstance, f),\n peerConnectionState: jspb.Message.getFieldWithDefault(msg, 2, 0),\n manual: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),\n orgId: jspb.Message.getFieldWithDefault(msg, 4, \"\"),\n localPeerIp: (f = msg.getLocalPeerIp()) && common_pb.Prefix.toObject(includeInstance, f),\n bgpstate: jspb.Message.getFieldWithDefault(msg, 6, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.PeerStateUpdate}\n */\nproto.ramius.PeerStateUpdate.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.PeerStateUpdate;\n return proto.ramius.PeerStateUpdate.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.PeerStateUpdate} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.PeerStateUpdate}\n */\nproto.ramius.PeerStateUpdate.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new common_pb.Prefix;\n reader.readMessage(value,common_pb.Prefix.deserializeBinaryFromReader);\n msg.setPeerIp(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.PeerConnectionState} */ (reader.readEnum());\n msg.setPeerConnectionState(value);\n break;\n case 3:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setManual(value);\n break;\n case 4:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgId(value);\n break;\n case 5:\n var value = new common_pb.Prefix;\n reader.readMessage(value,common_pb.Prefix.deserializeBinaryFromReader);\n msg.setLocalPeerIp(value);\n break;\n case 6:\n var value = /** @type {!proto.ramius.BgpState} */ (reader.readEnum());\n msg.setBgpstate(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.PeerStateUpdate.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.PeerStateUpdate.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.PeerStateUpdate} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.PeerStateUpdate.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getPeerIp();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n common_pb.Prefix.serializeBinaryToWriter\n );\n }\n f = message.getPeerConnectionState();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getManual();\n if (f) {\n writer.writeBool(\n 3,\n f\n );\n }\n f = message.getOrgId();\n if (f.length > 0) {\n writer.writeString(\n 4,\n f\n );\n }\n f = message.getLocalPeerIp();\n if (f != null) {\n writer.writeMessage(\n 5,\n f,\n common_pb.Prefix.serializeBinaryToWriter\n );\n }\n f = message.getBgpstate();\n if (f !== 0.0) {\n writer.writeEnum(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional Prefix peer_ip = 1;\n * @return {?proto.ramius.Prefix}\n */\nproto.ramius.PeerStateUpdate.prototype.getPeerIp = function() {\n return /** @type{?proto.ramius.Prefix} */ (\n jspb.Message.getWrapperField(this, common_pb.Prefix, 1));\n};\n\n\n/**\n * @param {?proto.ramius.Prefix|undefined} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n*/\nproto.ramius.PeerStateUpdate.prototype.setPeerIp = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.clearPeerIp = function() {\n return this.setPeerIp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerStateUpdate.prototype.hasPeerIp = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n/**\n * optional PeerConnectionState peer_connection_state = 2;\n * @return {!proto.ramius.PeerConnectionState}\n */\nproto.ramius.PeerStateUpdate.prototype.getPeerConnectionState = function() {\n return /** @type {!proto.ramius.PeerConnectionState} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.PeerConnectionState} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.setPeerConnectionState = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * optional bool manual = 3;\n * @return {boolean}\n */\nproto.ramius.PeerStateUpdate.prototype.getManual = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.setManual = function(value) {\n return jspb.Message.setProto3BooleanField(this, 3, value);\n};\n\n\n/**\n * optional string org_id = 4;\n * @return {string}\n */\nproto.ramius.PeerStateUpdate.prototype.getOrgId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.setOrgId = function(value) {\n return jspb.Message.setProto3StringField(this, 4, value);\n};\n\n\n/**\n * optional Prefix local_peer_ip = 5;\n * @return {?proto.ramius.Prefix}\n */\nproto.ramius.PeerStateUpdate.prototype.getLocalPeerIp = function() {\n return /** @type{?proto.ramius.Prefix} */ (\n jspb.Message.getWrapperField(this, common_pb.Prefix, 5));\n};\n\n\n/**\n * @param {?proto.ramius.Prefix|undefined} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n*/\nproto.ramius.PeerStateUpdate.prototype.setLocalPeerIp = function(value) {\n return jspb.Message.setWrapperField(this, 5, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.clearLocalPeerIp = function() {\n return this.setLocalPeerIp(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.PeerStateUpdate.prototype.hasLocalPeerIp = function() {\n return jspb.Message.getField(this, 5) != null;\n};\n\n\n/**\n * optional BgpState bgpState = 6;\n * @return {!proto.ramius.BgpState}\n */\nproto.ramius.PeerStateUpdate.prototype.getBgpstate = function() {\n return /** @type {!proto.ramius.BgpState} */ (jspb.Message.getFieldWithDefault(this, 6, 0));\n};\n\n\n/**\n * @param {!proto.ramius.BgpState} value\n * @return {!proto.ramius.PeerStateUpdate} returns this\n */\nproto.ramius.PeerStateUpdate.prototype.setBgpstate = function(value) {\n return jspb.Message.setProto3EnumField(this, 6, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpAfi = {\n BGP_AFI_INVALID: 0,\n BGP_AF_IPV4: 1,\n BGP_AF_IPV6: 2,\n BGP_AF_IPMCAST: 3,\n BGP_AF_IPV6MCAST: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpIanaAfi = {\n BGP_IANA_AFI_INVALID: 0,\n BGP_IANA_AF_IPV4: 1,\n BGP_IANA_AF_IPV6: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpIanaSafi = {\n BGP_IANA_SAFI_INVALID: 0,\n BGP_IANA_SAF_UCAST: 1,\n BGP_IANA_SAF_MCAST: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpState = {\n BGP_STATE_INVALID: 0,\n IDLE: 1,\n CONNECT: 2,\n ACTIVE: 3,\n OPEN_SENT: 4,\n OPEN_CONFIRM: 5,\n ESTABLISHED: 6\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpCapSendReceiveCodes = {\n BGP_CAP_INVALID: 0,\n BGP_CAP_RECEIVE: 1,\n BGP_CAP_SEND: 2,\n BGP_CAP_SEND_RECEIVE: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.PeerConnectionState = {\n PEER_CONNECTION_STATE_INVALID: 0,\n PEER_CONNECTION_STATE_CONFIGURED: 1,\n PEER_CONNECTION_STATE_DELETED: 2,\n PEER_CONNECTION_STATE_ESTABLISHED: 3,\n PEER_CONNECTION_STATE_NOT_ESTABLISHED: 4\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: schema_gen.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.AlarmPolicyType', null, global);\ngoog.exportSymbol('proto.ramius.AlarmType', null, global);\ngoog.exportSymbol('proto.ramius.BgpAddrType', null, global);\ngoog.exportSymbol('proto.ramius.Criticality', null, global);\ngoog.exportSymbol('proto.ramius.DataType', null, global);\ngoog.exportSymbol('proto.ramius.Duration', null, global);\ngoog.exportSymbol('proto.ramius.EndpointType', null, global);\ngoog.exportSymbol('proto.ramius.IPAddrType', null, global);\ngoog.exportSymbol('proto.ramius.KeyVal', null, global);\ngoog.exportSymbol('proto.ramius.ObjectState', null, global);\ngoog.exportSymbol('proto.ramius.ObjectType', null, global);\ngoog.exportSymbol('proto.ramius.OperationType', null, global);\ngoog.exportSymbol('proto.ramius.PeerActivationStatus', null, global);\ngoog.exportSymbol('proto.ramius.Provider', null, global);\ngoog.exportSymbol('proto.ramius.ReportInstanceGenStatus', null, global);\ngoog.exportSymbol('proto.ramius.ReportType', null, global);\ngoog.exportSymbol('proto.ramius.Schedule', null, global);\ngoog.exportSymbol('proto.ramius.SecretEnvelope', null, global);\ngoog.exportSymbol('proto.ramius.UserConfigScope', null, global);\ngoog.exportSymbol('proto.ramius.UserTracking', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.KeyVal = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.KeyVal, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.KeyVal.displayName = 'proto.ramius.KeyVal';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SecretEnvelope = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SecretEnvelope, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SecretEnvelope.displayName = 'proto.ramius.SecretEnvelope';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.Schedule = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.Schedule, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.Schedule.displayName = 'proto.ramius.Schedule';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.KeyVal.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.KeyVal.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.KeyVal} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KeyVal.toObject = function(includeInstance, msg) {\n var f, obj = {\n key: jspb.Message.getFieldWithDefault(msg, 15, \"\"),\n val: jspb.Message.getFieldWithDefault(msg, 16, \"\"),\n typ: jspb.Message.getFieldWithDefault(msg, 17, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.KeyVal}\n */\nproto.ramius.KeyVal.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.KeyVal;\n return proto.ramius.KeyVal.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.KeyVal} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.KeyVal}\n */\nproto.ramius.KeyVal.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 15:\n var value = /** @type {string} */ (reader.readString());\n msg.setKey(value);\n break;\n case 16:\n var value = /** @type {string} */ (reader.readString());\n msg.setVal(value);\n break;\n case 17:\n var value = /** @type {!proto.ramius.DataType} */ (reader.readEnum());\n msg.setTyp(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.KeyVal.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.KeyVal.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.KeyVal} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.KeyVal.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getKey();\n if (f.length > 0) {\n writer.writeString(\n 15,\n f\n );\n }\n f = message.getVal();\n if (f.length > 0) {\n writer.writeString(\n 16,\n f\n );\n }\n f = message.getTyp();\n if (f !== 0.0) {\n writer.writeEnum(\n 17,\n f\n );\n }\n};\n\n\n/**\n * optional string key = 15;\n * @return {string}\n */\nproto.ramius.KeyVal.prototype.getKey = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 15, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.KeyVal} returns this\n */\nproto.ramius.KeyVal.prototype.setKey = function(value) {\n return jspb.Message.setProto3StringField(this, 15, value);\n};\n\n\n/**\n * optional string val = 16;\n * @return {string}\n */\nproto.ramius.KeyVal.prototype.getVal = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 16, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.KeyVal} returns this\n */\nproto.ramius.KeyVal.prototype.setVal = function(value) {\n return jspb.Message.setProto3StringField(this, 16, value);\n};\n\n\n/**\n * optional DataType typ = 17;\n * @return {!proto.ramius.DataType}\n */\nproto.ramius.KeyVal.prototype.getTyp = function() {\n return /** @type {!proto.ramius.DataType} */ (jspb.Message.getFieldWithDefault(this, 17, 0));\n};\n\n\n/**\n * @param {!proto.ramius.DataType} value\n * @return {!proto.ramius.KeyVal} returns this\n */\nproto.ramius.KeyVal.prototype.setTyp = function(value) {\n return jspb.Message.setProto3EnumField(this, 17, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SecretEnvelope.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SecretEnvelope.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SecretEnvelope} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SecretEnvelope.toObject = function(includeInstance, msg) {\n var f, obj = {\n keyFp: jspb.Message.getFieldWithDefault(msg, 11, \"\"),\n secret: jspb.Message.getFieldWithDefault(msg, 12, \"\"),\n description: jspb.Message.getFieldWithDefault(msg, 13, \"\"),\n nonce: jspb.Message.getFieldWithDefault(msg, 14, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SecretEnvelope}\n */\nproto.ramius.SecretEnvelope.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SecretEnvelope;\n return proto.ramius.SecretEnvelope.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SecretEnvelope} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SecretEnvelope}\n */\nproto.ramius.SecretEnvelope.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {string} */ (reader.readString());\n msg.setKeyFp(value);\n break;\n case 12:\n var value = /** @type {string} */ (reader.readString());\n msg.setSecret(value);\n break;\n case 13:\n var value = /** @type {string} */ (reader.readString());\n msg.setDescription(value);\n break;\n case 14:\n var value = /** @type {string} */ (reader.readString());\n msg.setNonce(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SecretEnvelope.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SecretEnvelope.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SecretEnvelope} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SecretEnvelope.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getKeyFp();\n if (f.length > 0) {\n writer.writeString(\n 11,\n f\n );\n }\n f = message.getSecret();\n if (f.length > 0) {\n writer.writeString(\n 12,\n f\n );\n }\n f = message.getDescription();\n if (f.length > 0) {\n writer.writeString(\n 13,\n f\n );\n }\n f = message.getNonce();\n if (f.length > 0) {\n writer.writeString(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional string key_fp = 11;\n * @return {string}\n */\nproto.ramius.SecretEnvelope.prototype.getKeyFp = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SecretEnvelope} returns this\n */\nproto.ramius.SecretEnvelope.prototype.setKeyFp = function(value) {\n return jspb.Message.setProto3StringField(this, 11, value);\n};\n\n\n/**\n * optional string secret = 12;\n * @return {string}\n */\nproto.ramius.SecretEnvelope.prototype.getSecret = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SecretEnvelope} returns this\n */\nproto.ramius.SecretEnvelope.prototype.setSecret = function(value) {\n return jspb.Message.setProto3StringField(this, 12, value);\n};\n\n\n/**\n * optional string description = 13;\n * @return {string}\n */\nproto.ramius.SecretEnvelope.prototype.getDescription = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SecretEnvelope} returns this\n */\nproto.ramius.SecretEnvelope.prototype.setDescription = function(value) {\n return jspb.Message.setProto3StringField(this, 13, value);\n};\n\n\n/**\n * optional string nonce = 14;\n * @return {string}\n */\nproto.ramius.SecretEnvelope.prototype.getNonce = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 14, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SecretEnvelope} returns this\n */\nproto.ramius.SecretEnvelope.prototype.setNonce = function(value) {\n return jspb.Message.setProto3StringField(this, 14, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.Schedule.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.Schedule.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.Schedule} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Schedule.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 11, 0),\n notBefore: (f = msg.getNotBefore()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n notAfter: (f = msg.getNotAfter()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n intervalValue: jspb.Message.getFieldWithDefault(msg, 21, 0),\n intervalUnit: jspb.Message.getFieldWithDefault(msg, 23, 0),\n timeOfDay: jspb.Message.getFieldWithDefault(msg, 30, 0),\n dayOfWeek: jspb.Message.getFieldWithDefault(msg, 31, 0),\n dayOfMonth: jspb.Message.getFieldWithDefault(msg, 32, 0),\n weekOfMonth: jspb.Message.getFieldWithDefault(msg, 33, 0),\n monthOfYear: jspb.Message.getFieldWithDefault(msg, 34, 0),\n timeZone: jspb.Message.getFieldWithDefault(msg, 40, \"\"),\n userId: jspb.Message.getFieldWithDefault(msg, 43, \"\"),\n scheduledAt: (f = msg.getScheduledAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n executedAt: (f = msg.getExecutedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n lastSkippedAt: (f = msg.getLastSkippedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n lastSucceededAt: (f = msg.getLastSucceededAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n result: jspb.Message.getFieldWithDefault(msg, 41, \"\"),\n executionCount: jspb.Message.getFieldWithDefault(msg, 39, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.Schedule}\n */\nproto.ramius.Schedule.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.Schedule;\n return proto.ramius.Schedule.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.Schedule} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.Schedule}\n */\nproto.ramius.Schedule.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 11:\n var value = /** @type {number} */ (reader.readInt64());\n msg.setId(value);\n break;\n case 18:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setNotBefore(value);\n break;\n case 19:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setNotAfter(value);\n break;\n case 21:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setIntervalValue(value);\n break;\n case 23:\n var value = /** @type {!proto.ramius.Duration} */ (reader.readEnum());\n msg.setIntervalUnit(value);\n break;\n case 30:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTimeOfDay(value);\n break;\n case 31:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDayOfWeek(value);\n break;\n case 32:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setDayOfMonth(value);\n break;\n case 33:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setWeekOfMonth(value);\n break;\n case 34:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMonthOfYear(value);\n break;\n case 40:\n var value = /** @type {string} */ (reader.readString());\n msg.setTimeZone(value);\n break;\n case 43:\n var value = /** @type {string} */ (reader.readString());\n msg.setUserId(value);\n break;\n case 38:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setScheduledAt(value);\n break;\n case 37:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setExecutedAt(value);\n break;\n case 45:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastSkippedAt(value);\n break;\n case 46:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setLastSucceededAt(value);\n break;\n case 41:\n var value = /** @type {string} */ (reader.readString());\n msg.setResult(value);\n break;\n case 39:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setExecutionCount(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.Schedule.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.Schedule.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.Schedule} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.Schedule.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f !== 0) {\n writer.writeInt64(\n 11,\n f\n );\n }\n f = message.getNotBefore();\n if (f != null) {\n writer.writeMessage(\n 18,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getNotAfter();\n if (f != null) {\n writer.writeMessage(\n 19,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getIntervalValue();\n if (f !== 0) {\n writer.writeInt32(\n 21,\n f\n );\n }\n f = message.getIntervalUnit();\n if (f !== 0.0) {\n writer.writeEnum(\n 23,\n f\n );\n }\n f = message.getTimeOfDay();\n if (f !== 0) {\n writer.writeInt32(\n 30,\n f\n );\n }\n f = message.getDayOfWeek();\n if (f !== 0) {\n writer.writeInt32(\n 31,\n f\n );\n }\n f = message.getDayOfMonth();\n if (f !== 0) {\n writer.writeInt32(\n 32,\n f\n );\n }\n f = message.getWeekOfMonth();\n if (f !== 0) {\n writer.writeInt32(\n 33,\n f\n );\n }\n f = message.getMonthOfYear();\n if (f !== 0) {\n writer.writeInt32(\n 34,\n f\n );\n }\n f = message.getTimeZone();\n if (f.length > 0) {\n writer.writeString(\n 40,\n f\n );\n }\n f = message.getUserId();\n if (f.length > 0) {\n writer.writeString(\n 43,\n f\n );\n }\n f = message.getScheduledAt();\n if (f != null) {\n writer.writeMessage(\n 38,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getExecutedAt();\n if (f != null) {\n writer.writeMessage(\n 37,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getLastSkippedAt();\n if (f != null) {\n writer.writeMessage(\n 45,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getLastSucceededAt();\n if (f != null) {\n writer.writeMessage(\n 46,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getResult();\n if (f.length > 0) {\n writer.writeString(\n 41,\n f\n );\n }\n f = message.getExecutionCount();\n if (f !== 0) {\n writer.writeInt32(\n 39,\n f\n );\n }\n};\n\n\n/**\n * optional int64 id = 11;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setId = function(value) {\n return jspb.Message.setProto3IntField(this, 11, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp not_before = 18;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getNotBefore = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 18));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setNotBefore = function(value) {\n return jspb.Message.setWrapperField(this, 18, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearNotBefore = function() {\n return this.setNotBefore(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasNotBefore = function() {\n return jspb.Message.getField(this, 18) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp not_after = 19;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getNotAfter = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 19));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setNotAfter = function(value) {\n return jspb.Message.setWrapperField(this, 19, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearNotAfter = function() {\n return this.setNotAfter(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasNotAfter = function() {\n return jspb.Message.getField(this, 19) != null;\n};\n\n\n/**\n * optional int32 interval_value = 21;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getIntervalValue = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setIntervalValue = function(value) {\n return jspb.Message.setProto3IntField(this, 21, value);\n};\n\n\n/**\n * optional Duration interval_unit = 23;\n * @return {!proto.ramius.Duration}\n */\nproto.ramius.Schedule.prototype.getIntervalUnit = function() {\n return /** @type {!proto.ramius.Duration} */ (jspb.Message.getFieldWithDefault(this, 23, 0));\n};\n\n\n/**\n * @param {!proto.ramius.Duration} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setIntervalUnit = function(value) {\n return jspb.Message.setProto3EnumField(this, 23, value);\n};\n\n\n/**\n * optional int32 time_of_day = 30;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getTimeOfDay = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setTimeOfDay = function(value) {\n return jspb.Message.setProto3IntField(this, 30, value);\n};\n\n\n/**\n * optional int32 day_of_week = 31;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getDayOfWeek = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setDayOfWeek = function(value) {\n return jspb.Message.setProto3IntField(this, 31, value);\n};\n\n\n/**\n * optional int32 day_of_month = 32;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getDayOfMonth = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 32, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setDayOfMonth = function(value) {\n return jspb.Message.setProto3IntField(this, 32, value);\n};\n\n\n/**\n * optional int32 week_of_month = 33;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getWeekOfMonth = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 33, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setWeekOfMonth = function(value) {\n return jspb.Message.setProto3IntField(this, 33, value);\n};\n\n\n/**\n * optional int32 month_of_year = 34;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getMonthOfYear = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 34, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setMonthOfYear = function(value) {\n return jspb.Message.setProto3IntField(this, 34, value);\n};\n\n\n/**\n * optional string time_zone = 40;\n * @return {string}\n */\nproto.ramius.Schedule.prototype.getTimeZone = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 40, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setTimeZone = function(value) {\n return jspb.Message.setProto3StringField(this, 40, value);\n};\n\n\n/**\n * optional string user_id = 43;\n * @return {string}\n */\nproto.ramius.Schedule.prototype.getUserId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 43, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setUserId = function(value) {\n return jspb.Message.setProto3StringField(this, 43, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp scheduled_at = 38;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getScheduledAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 38));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setScheduledAt = function(value) {\n return jspb.Message.setWrapperField(this, 38, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearScheduledAt = function() {\n return this.setScheduledAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasScheduledAt = function() {\n return jspb.Message.getField(this, 38) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp executed_at = 37;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getExecutedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 37));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setExecutedAt = function(value) {\n return jspb.Message.setWrapperField(this, 37, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearExecutedAt = function() {\n return this.setExecutedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasExecutedAt = function() {\n return jspb.Message.getField(this, 37) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_skipped_at = 45;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getLastSkippedAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 45));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setLastSkippedAt = function(value) {\n return jspb.Message.setWrapperField(this, 45, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearLastSkippedAt = function() {\n return this.setLastSkippedAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasLastSkippedAt = function() {\n return jspb.Message.getField(this, 45) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp last_succeeded_at = 46;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.Schedule.prototype.getLastSucceededAt = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 46));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.Schedule} returns this\n*/\nproto.ramius.Schedule.prototype.setLastSucceededAt = function(value) {\n return jspb.Message.setWrapperField(this, 46, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.clearLastSucceededAt = function() {\n return this.setLastSucceededAt(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.Schedule.prototype.hasLastSucceededAt = function() {\n return jspb.Message.getField(this, 46) != null;\n};\n\n\n/**\n * optional string result = 41;\n * @return {string}\n */\nproto.ramius.Schedule.prototype.getResult = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 41, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setResult = function(value) {\n return jspb.Message.setProto3StringField(this, 41, value);\n};\n\n\n/**\n * optional int32 execution_count = 39;\n * @return {number}\n */\nproto.ramius.Schedule.prototype.getExecutionCount = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 39, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.Schedule} returns this\n */\nproto.ramius.Schedule.prototype.setExecutionCount = function(value) {\n return jspb.Message.setProto3IntField(this, 39, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.AlarmPolicyType = {\n INVALID_POLICY: 0,\n PREFIX_POLICY: 1,\n ASN_POLICY: 2,\n BGP_PEER_POLICY: 3,\n INTERFACE_POLICY: 4,\n TELEMETRY_POLICY: 5,\n TRUST_POLICY: 6,\n DEVICE_POLICY: 7,\n GATEWAY_POLICY: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.AlarmType = {\n INVALID: 0,\n ORIGIN_ASN_VIOLATION: 1,\n SUBPREFIX_VIOLATION: 2,\n LEFT_ASN_VIOLATION: 3,\n ROA_VIOLATION: 4,\n WITHDRAWN_VIOLATION: 5,\n AS_NEW_PREFIX_VIOLATION: 6,\n AS_PATH_LENGTH_VIOLATION: 7,\n AGGREGATE_VIOLATION: 8,\n PREFIX_ADVERTISEMENT_VIOLATION: 9,\n NEW_GLOBAL_PEER_EDGE_VIOLATION: 10,\n PEER_DOWN_VIOLATION: 11,\n PEER_ADVERTISED_PREFIX_COUNT_VIOLATION: 12,\n VALID_AS_PATH_VIOLATION: 13,\n ROA_EXPIRY_VIOLATION: 14,\n ROA_NOT_FOUND_VIOLATION: 15,\n PROHIBITED_IP_PREFIX_VIOLATION: 16,\n PEER_ROOT_DNS_WITHDRAWN_VIOLATION: 17,\n TELEMETRY_HIGH_CPU_USAGE: 18,\n TELEMETRY_HIGH_MEMORY_USAGE: 19,\n TRUST_UNKNOWN_FILES_FOUND: 20,\n DISCOVERY_DEVICE_CONNECTIVITY_CHANGE: 21,\n DISCOVERY_GATEWAY_CONNECTIVITY_CHANGE: 22,\n DISCOVERY_INTERFACE_JUMBO_PREFIX_ALARM: 23,\n DISCOVERY_INTERFACE_THRESHOLD_RX_ALARM: 24,\n DISCOVERY_INTERFACE_THRESHOLD_TX_ALARM: 25,\n DEVICE_DOSSIER_COLLECTION_FAILURE: 26,\n DEVICE_ENROLLMENT_CERT_EXPIRATION: 27,\n DEVICE_ENROLLMENT_CERT_VIOLATION: 28,\n TRUST_MISMATCHED_FILES_FOUND: 29,\n DEVICE_HARDWARE_INTEGRITY: 30,\n DEVICE_SOFTWARE_INTEGRITY: 31,\n DEVICE_SSH_HOST_KEY_VIOLATION: 32,\n ORIGIN_ASN_VIOLATION_MYPEERS: 33,\n LEFT_ASN_VIOLATION_MYPEERS: 34,\n WITHDRAWN_VIOLATION_MYPEERS: 35,\n AS_PATH_LENGTH_VIOLATION_MYPEERS: 36,\n AGGREGATE_VIOLATION_MYPEERS: 37,\n PREFIX_ADVERTISEMENT_VIOLATION_MYPEERS: 38,\n VALID_AS_PATH_VIOLATION_MYPEERS: 39,\n DEVICE_ENROLLMENT_CERT_IMMINENT_EXPIRY: 40,\n DEVICE_RUNNING_CONFIG_CHANGE: 41\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.BgpAddrType = {\n BGP_UNKNOWN: 0,\n BGP_IPV4: 1,\n BGP_IPV6: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.Criticality = {\n CRITICALITY_INVALID: 0,\n EMERGENCY: 1,\n ALERT: 2,\n CRITICAL: 3,\n ERROR: 4,\n WARNING: 5,\n NOTICE: 6,\n INFO: 7,\n DEBUG: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.DataType = {\n STRING_TYPE: 0,\n INT32_TYPE: 1,\n UINT32_TYPE: 2,\n INT64_TYPE: 3,\n UINT64_TYPE: 4,\n BOOL_TYPE: 5,\n TIME_TYPE: 6,\n UUID_TYPE: 7,\n DURATION_TYPE: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.Duration = {\n INVALID_DURATION: 0,\n SECOND: 1,\n MINUTE: 3,\n HOUR: 4,\n DAY: 5,\n WEEK: 6,\n MONTH: 7,\n YEAR: 8\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.EndpointType = {\n INVALID_ENDPOINT: 0,\n EMAIL: 1,\n SMS: 2,\n S3: 3,\n SLACK: 4,\n WEBEX: 5,\n TEST: 6,\n TEAMS: 7,\n PAGER_DUTY: 8,\n GOOGLE_STORAGE: 9\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.IPAddrType = {\n IP_ADDR_UNKNOWN: 0,\n IPV4: 1,\n IPV6: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ObjectState = {\n INVALID_STATE: 0,\n ENABLED: 1,\n DISABLED: 2,\n DELETED: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ObjectType = {\n OBJECT_INVALID: 0,\n DEVICE: 1,\n GATEWAY: 2,\n ALARM_POLICY: 3,\n PREFIX: 4,\n ASN: 5,\n BGP_PEER: 6,\n USER: 7,\n DEVICE_GROUP: 8,\n CREDENTIAL: 9,\n NOTIFICATION_ENDPOINT: 10,\n NETWORK_INTERFACE: 11,\n REPORT: 12,\n GATEWAY_TOKEN: 13,\n GATEWAY_PENDING_ENROLLMENT: 14\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.OperationType = {\n OPERATION_INVALID: 0,\n OPERATION_ADD: 1,\n OPERATION_UPDATE: 2,\n OPERATION_DELETE: 3,\n OPERATION_OTHER: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.PeerActivationStatus = {\n INVALID_ACTIVATION_STATE: 0,\n IMPORT_DONE: 1,\n INVALID_LINK: 2,\n IMPORT_IN_PROGRESS: 3,\n WAITING_FOR_USER_CONFIRMATION: 4,\n INVALID_EMAIL: 5,\n REQUEST_ID_EXPIRED: 6,\n NO_ACTIVE_REQUEST: 7,\n INTERNAL_ERROR: 8,\n NO_MATCHING_REQUEST_ID: 9,\n NO_PEERS_TO_ACTIVATE: 10\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.Provider = {\n INVALID_PROVIDER: 0,\n ONEID: 1,\n GOOGLE: 2,\n LINKEDIN: 3,\n FACEBOOK: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ReportInstanceGenStatus = {\n REPORT_INSTANCE_GENERATION_STATUS_UNKNOWN: 0,\n REPORT_INSTANCE_GENERATION_STATUS_IN_PROGRESS: 1,\n REPORT_INSTANCE_GENERATION_STATUS_SUCCESS: 2,\n REPORT_INSTANCE_GENERATION_STATUS_FAILURE: 3,\n REPORT_INSTANCE_GENERATION_STATUS_WARNINGS: 4\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.ReportType = {\n INVALID_REPORT: 0,\n ASN_ROUTING: 1,\n PEER_STATS: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.UserConfigScope = {\n INVALID_SCOPE: 0,\n GLOBAL: 1,\n LOCAL: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.UserTracking = {\n INVALID_USER_TRACKING: 0,\n USER_TRACKING_ENABLED: 1,\n USER_TRACKING_DISABLED: 2\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: subscriptions.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\nvar ccsubs_gen_pb = require('./ccsubs_gen_pb.js');\ngoog.object.extend(proto, ccsubs_gen_pb);\nvar error_pb = require('./error_pb.js');\ngoog.object.extend(proto, error_pb);\nvar google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js');\ngoog.object.extend(proto, google_protobuf_timestamp_pb);\ngoog.exportSymbol('proto.ramius.ClaimSubscriptionsRequest', null, global);\ngoog.exportSymbol('proto.ramius.ClaimSubscriptionsResponse', null, global);\ngoog.exportSymbol('proto.ramius.FeatureTrialDetails', null, global);\ngoog.exportSymbol('proto.ramius.FeatureTrialsRequest', null, global);\ngoog.exportSymbol('proto.ramius.FeatureTrialsResponse', null, global);\ngoog.exportSymbol('proto.ramius.RequestTrialRequest', null, global);\ngoog.exportSymbol('proto.ramius.RequestTrialResponse', null, global);\ngoog.exportSymbol('proto.ramius.ServiceItem', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionDetails', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionType', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionsRequest', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionsResponse', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionsSummaryRequest', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionsSummaryResponse', null, global);\ngoog.exportSymbol('proto.ramius.SubscriptionsTotals', null, global);\ngoog.exportSymbol('proto.ramius.UnclaimSubscriptionsRequest', null, global);\ngoog.exportSymbol('proto.ramius.UnclaimSubscriptionsResponse', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ServiceItem = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ServiceItem, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ServiceItem.displayName = 'proto.ramius.ServiceItem';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionDetails = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SubscriptionDetails.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SubscriptionDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionDetails.displayName = 'proto.ramius.SubscriptionDetails';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ClaimSubscriptionsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ClaimSubscriptionsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ClaimSubscriptionsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ClaimSubscriptionsRequest.displayName = 'proto.ramius.ClaimSubscriptionsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ClaimSubscriptionsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.ClaimSubscriptionsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.ClaimSubscriptionsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ClaimSubscriptionsResponse.displayName = 'proto.ramius.ClaimSubscriptionsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UnclaimSubscriptionsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.UnclaimSubscriptionsRequest.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.UnclaimSubscriptionsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UnclaimSubscriptionsRequest.displayName = 'proto.ramius.UnclaimSubscriptionsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.UnclaimSubscriptionsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.UnclaimSubscriptionsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.UnclaimSubscriptionsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.UnclaimSubscriptionsResponse.displayName = 'proto.ramius.UnclaimSubscriptionsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RequestTrialRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RequestTrialRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RequestTrialRequest.displayName = 'proto.ramius.RequestTrialRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RequestTrialResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RequestTrialResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RequestTrialResponse.displayName = 'proto.ramius.RequestTrialResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FeatureTrialDetails = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.FeatureTrialDetails, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FeatureTrialDetails.displayName = 'proto.ramius.FeatureTrialDetails';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FeatureTrialsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.FeatureTrialsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.FeatureTrialsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FeatureTrialsResponse.displayName = 'proto.ramius.FeatureTrialsResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.FeatureTrialsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.FeatureTrialsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.FeatureTrialsRequest.displayName = 'proto.ramius.FeatureTrialsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionsSummaryRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SubscriptionsSummaryRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionsSummaryRequest.displayName = 'proto.ramius.SubscriptionsSummaryRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionsTotals = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SubscriptionsTotals, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionsTotals.displayName = 'proto.ramius.SubscriptionsTotals';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionsSummaryResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SubscriptionsSummaryResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SubscriptionsSummaryResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionsSummaryResponse.displayName = 'proto.ramius.SubscriptionsSummaryResponse';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionsRequest = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.SubscriptionsRequest, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionsRequest.displayName = 'proto.ramius.SubscriptionsRequest';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.SubscriptionsResponse = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, proto.ramius.SubscriptionsResponse.repeatedFields_, null);\n};\ngoog.inherits(proto.ramius.SubscriptionsResponse, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.SubscriptionsResponse.displayName = 'proto.ramius.SubscriptionsResponse';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ServiceItem.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ServiceItem.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ServiceItem} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ServiceItem.toObject = function(includeInstance, msg) {\n var f, obj = {\n productId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n quantity: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ServiceItem}\n */\nproto.ramius.ServiceItem.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ServiceItem;\n return proto.ramius.ServiceItem.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ServiceItem} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ServiceItem}\n */\nproto.ramius.ServiceItem.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionProductId} */ (reader.readEnum());\n msg.setProductId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setQuantity(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ServiceItem.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ServiceItem.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ServiceItem} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ServiceItem.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProductId();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getQuantity();\n if (f !== 0) {\n writer.writeUint32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionProductId product_id = 1;\n * @return {!proto.ramius.SubscriptionProductId}\n */\nproto.ramius.ServiceItem.prototype.getProductId = function() {\n return /** @type {!proto.ramius.SubscriptionProductId} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionProductId} value\n * @return {!proto.ramius.ServiceItem} returns this\n */\nproto.ramius.ServiceItem.prototype.setProductId = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional uint32 quantity = 2;\n * @return {number}\n */\nproto.ramius.ServiceItem.prototype.getQuantity = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.ServiceItem} returns this\n */\nproto.ramius.ServiceItem.prototype.setQuantity = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SubscriptionDetails.repeatedFields_ = [6];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionDetails.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionDetails.toObject = function(includeInstance, msg) {\n var f, obj = {\n subscriptionReferenceId: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n startDate: (f = msg.getStartDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n claimDate: (f = msg.getClaimDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n initialTerm: jspb.Message.getFloatingPointFieldWithDefault(msg, 4, 0.0),\n serviceName: jspb.Message.getFieldWithDefault(msg, 5, \"\"),\n serviceItemsList: jspb.Message.toObjectList(msg.getServiceItemsList(),\n proto.ramius.ServiceItem.toObject, includeInstance),\n subscriptionType: jspb.Message.getFieldWithDefault(msg, 7, 0),\n featureType: jspb.Message.getFieldWithDefault(msg, 8, 0),\n featureTier: jspb.Message.getFieldWithDefault(msg, 9, 0),\n platform: jspb.Message.getFieldWithDefault(msg, 10, 0),\n isOwner: jspb.Message.getBooleanFieldWithDefault(msg, 11, false),\n subscriptionVersionId: jspb.Message.getFieldWithDefault(msg, 12, 0),\n expirationDate: (f = msg.getExpirationDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n overrideLimit: jspb.Message.getFieldWithDefault(msg, 14, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionDetails}\n */\nproto.ramius.SubscriptionDetails.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionDetails;\n return proto.ramius.SubscriptionDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionDetails}\n */\nproto.ramius.SubscriptionDetails.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setSubscriptionReferenceId(value);\n break;\n case 2:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setStartDate(value);\n break;\n case 3:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setClaimDate(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readFloat());\n msg.setInitialTerm(value);\n break;\n case 5:\n var value = /** @type {string} */ (reader.readString());\n msg.setServiceName(value);\n break;\n case 6:\n var value = new proto.ramius.ServiceItem;\n reader.readMessage(value,proto.ramius.ServiceItem.deserializeBinaryFromReader);\n msg.addServiceItems(value);\n break;\n case 7:\n var value = /** @type {!proto.ramius.SubscriptionType} */ (reader.readEnum());\n msg.setSubscriptionType(value);\n break;\n case 8:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setFeatureType(value);\n break;\n case 9:\n var value = /** @type {!proto.ramius.SubscriptionTier} */ (reader.readEnum());\n msg.setFeatureTier(value);\n break;\n case 10:\n var value = /** @type {!proto.ramius.SubscriptionPlatform} */ (reader.readEnum());\n msg.setPlatform(value);\n break;\n case 11:\n var value = /** @type {boolean} */ (reader.readBool());\n msg.setIsOwner(value);\n break;\n case 12:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setSubscriptionVersionId(value);\n break;\n case 13:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setExpirationDate(value);\n break;\n case 14:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setOverrideLimit(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionDetails.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionDetails.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionDetails.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSubscriptionReferenceId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getStartDate();\n if (f != null) {\n writer.writeMessage(\n 2,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getClaimDate();\n if (f != null) {\n writer.writeMessage(\n 3,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getInitialTerm();\n if (f !== 0.0) {\n writer.writeFloat(\n 4,\n f\n );\n }\n f = message.getServiceName();\n if (f.length > 0) {\n writer.writeString(\n 5,\n f\n );\n }\n f = message.getServiceItemsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 6,\n f,\n proto.ramius.ServiceItem.serializeBinaryToWriter\n );\n }\n f = message.getSubscriptionType();\n if (f !== 0.0) {\n writer.writeEnum(\n 7,\n f\n );\n }\n f = message.getFeatureType();\n if (f !== 0.0) {\n writer.writeEnum(\n 8,\n f\n );\n }\n f = message.getFeatureTier();\n if (f !== 0.0) {\n writer.writeEnum(\n 9,\n f\n );\n }\n f = message.getPlatform();\n if (f !== 0.0) {\n writer.writeEnum(\n 10,\n f\n );\n }\n f = message.getIsOwner();\n if (f) {\n writer.writeBool(\n 11,\n f\n );\n }\n f = message.getSubscriptionVersionId();\n if (f !== 0) {\n writer.writeInt32(\n 12,\n f\n );\n }\n f = message.getExpirationDate();\n if (f != null) {\n writer.writeMessage(\n 13,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getOverrideLimit();\n if (f !== 0) {\n writer.writeUint32(\n 14,\n f\n );\n }\n};\n\n\n/**\n * optional string subscription_reference_id = 1;\n * @return {string}\n */\nproto.ramius.SubscriptionDetails.prototype.getSubscriptionReferenceId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setSubscriptionReferenceId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp start_date = 2;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.SubscriptionDetails.prototype.getStartDate = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 2));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n*/\nproto.ramius.SubscriptionDetails.prototype.setStartDate = function(value) {\n return jspb.Message.setWrapperField(this, 2, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.clearStartDate = function() {\n return this.setStartDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SubscriptionDetails.prototype.hasStartDate = function() {\n return jspb.Message.getField(this, 2) != null;\n};\n\n\n/**\n * optional google.protobuf.Timestamp claim_date = 3;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.SubscriptionDetails.prototype.getClaimDate = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 3));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n*/\nproto.ramius.SubscriptionDetails.prototype.setClaimDate = function(value) {\n return jspb.Message.setWrapperField(this, 3, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.clearClaimDate = function() {\n return this.setClaimDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SubscriptionDetails.prototype.hasClaimDate = function() {\n return jspb.Message.getField(this, 3) != null;\n};\n\n\n/**\n * optional float initial_term = 4;\n * @return {number}\n */\nproto.ramius.SubscriptionDetails.prototype.getInitialTerm = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 4, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setInitialTerm = function(value) {\n return jspb.Message.setProto3FloatField(this, 4, value);\n};\n\n\n/**\n * optional string service_name = 5;\n * @return {string}\n */\nproto.ramius.SubscriptionDetails.prototype.getServiceName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setServiceName = function(value) {\n return jspb.Message.setProto3StringField(this, 5, value);\n};\n\n\n/**\n * repeated ServiceItem service_items = 6;\n * @return {!Array}\n */\nproto.ramius.SubscriptionDetails.prototype.getServiceItemsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.ServiceItem, 6));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n*/\nproto.ramius.SubscriptionDetails.prototype.setServiceItemsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 6, value);\n};\n\n\n/**\n * @param {!proto.ramius.ServiceItem=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.ServiceItem}\n */\nproto.ramius.SubscriptionDetails.prototype.addServiceItems = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.ramius.ServiceItem, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.clearServiceItemsList = function() {\n return this.setServiceItemsList([]);\n};\n\n\n/**\n * optional SubscriptionType subscription_type = 7;\n * @return {!proto.ramius.SubscriptionType}\n */\nproto.ramius.SubscriptionDetails.prototype.getSubscriptionType = function() {\n return /** @type {!proto.ramius.SubscriptionType} */ (jspb.Message.getFieldWithDefault(this, 7, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionType} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setSubscriptionType = function(value) {\n return jspb.Message.setProto3EnumField(this, 7, value);\n};\n\n\n/**\n * optional SubscriptionFeature feature_type = 8;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.SubscriptionDetails.prototype.getFeatureType = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 8, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setFeatureType = function(value) {\n return jspb.Message.setProto3EnumField(this, 8, value);\n};\n\n\n/**\n * optional SubscriptionTier feature_tier = 9;\n * @return {!proto.ramius.SubscriptionTier}\n */\nproto.ramius.SubscriptionDetails.prototype.getFeatureTier = function() {\n return /** @type {!proto.ramius.SubscriptionTier} */ (jspb.Message.getFieldWithDefault(this, 9, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionTier} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setFeatureTier = function(value) {\n return jspb.Message.setProto3EnumField(this, 9, value);\n};\n\n\n/**\n * optional SubscriptionPlatform platform = 10;\n * @return {!proto.ramius.SubscriptionPlatform}\n */\nproto.ramius.SubscriptionDetails.prototype.getPlatform = function() {\n return /** @type {!proto.ramius.SubscriptionPlatform} */ (jspb.Message.getFieldWithDefault(this, 10, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionPlatform} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setPlatform = function(value) {\n return jspb.Message.setProto3EnumField(this, 10, value);\n};\n\n\n/**\n * optional bool is_owner = 11;\n * @return {boolean}\n */\nproto.ramius.SubscriptionDetails.prototype.getIsOwner = function() {\n return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 11, false));\n};\n\n\n/**\n * @param {boolean} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setIsOwner = function(value) {\n return jspb.Message.setProto3BooleanField(this, 11, value);\n};\n\n\n/**\n * optional int32 subscription_version_id = 12;\n * @return {number}\n */\nproto.ramius.SubscriptionDetails.prototype.getSubscriptionVersionId = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setSubscriptionVersionId = function(value) {\n return jspb.Message.setProto3IntField(this, 12, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp expiration_date = 13;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.SubscriptionDetails.prototype.getExpirationDate = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 13));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n*/\nproto.ramius.SubscriptionDetails.prototype.setExpirationDate = function(value) {\n return jspb.Message.setWrapperField(this, 13, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.clearExpirationDate = function() {\n return this.setExpirationDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.SubscriptionDetails.prototype.hasExpirationDate = function() {\n return jspb.Message.getField(this, 13) != null;\n};\n\n\n/**\n * optional uint32 override_limit = 14;\n * @return {number}\n */\nproto.ramius.SubscriptionDetails.prototype.getOverrideLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscriptionDetails} returns this\n */\nproto.ramius.SubscriptionDetails.prototype.setOverrideLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 14, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ClaimSubscriptionsRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ClaimSubscriptionsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ClaimSubscriptionsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimSubscriptionsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n subscriptionReferenceIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ClaimSubscriptionsRequest}\n */\nproto.ramius.ClaimSubscriptionsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ClaimSubscriptionsRequest;\n return proto.ramius.ClaimSubscriptionsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ClaimSubscriptionsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ClaimSubscriptionsRequest}\n */\nproto.ramius.ClaimSubscriptionsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addSubscriptionReferenceIds(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ClaimSubscriptionsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ClaimSubscriptionsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimSubscriptionsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSubscriptionReferenceIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string subscription_reference_ids = 1;\n * @return {!Array}\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.getSubscriptionReferenceIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ClaimSubscriptionsRequest} returns this\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.setSubscriptionReferenceIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.ClaimSubscriptionsRequest} returns this\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.addSubscriptionReferenceIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ClaimSubscriptionsRequest} returns this\n */\nproto.ramius.ClaimSubscriptionsRequest.prototype.clearSubscriptionReferenceIdsList = function() {\n return this.setSubscriptionReferenceIdsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.ClaimSubscriptionsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ClaimSubscriptionsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ClaimSubscriptionsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ClaimSubscriptionsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimSubscriptionsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n errorsList: jspb.Message.toObjectList(msg.getErrorsList(),\n error_pb.Error.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ClaimSubscriptionsResponse}\n */\nproto.ramius.ClaimSubscriptionsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ClaimSubscriptionsResponse;\n return proto.ramius.ClaimSubscriptionsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ClaimSubscriptionsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ClaimSubscriptionsResponse}\n */\nproto.ramius.ClaimSubscriptionsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.addErrors(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ClaimSubscriptionsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ClaimSubscriptionsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ClaimSubscriptionsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ClaimSubscriptionsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getErrorsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Error errors = 1;\n * @return {!Array}\n */\nproto.ramius.ClaimSubscriptionsResponse.prototype.getErrorsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.ClaimSubscriptionsResponse} returns this\n*/\nproto.ramius.ClaimSubscriptionsResponse.prototype.setErrorsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.Error=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Error}\n */\nproto.ramius.ClaimSubscriptionsResponse.prototype.addErrors = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.Error, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.ClaimSubscriptionsResponse} returns this\n */\nproto.ramius.ClaimSubscriptionsResponse.prototype.clearErrorsList = function() {\n return this.setErrorsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.UnclaimSubscriptionsRequest.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UnclaimSubscriptionsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UnclaimSubscriptionsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UnclaimSubscriptionsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n subscriptionReferenceIdsList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UnclaimSubscriptionsRequest}\n */\nproto.ramius.UnclaimSubscriptionsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UnclaimSubscriptionsRequest;\n return proto.ramius.UnclaimSubscriptionsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UnclaimSubscriptionsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UnclaimSubscriptionsRequest}\n */\nproto.ramius.UnclaimSubscriptionsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.addSubscriptionReferenceIds(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UnclaimSubscriptionsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UnclaimSubscriptionsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UnclaimSubscriptionsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSubscriptionReferenceIdsList();\n if (f.length > 0) {\n writer.writeRepeatedString(\n 1,\n f\n );\n }\n};\n\n\n/**\n * repeated string subscription_reference_ids = 1;\n * @return {!Array}\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.getSubscriptionReferenceIdsList = function() {\n return /** @type {!Array} */ (jspb.Message.getRepeatedField(this, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.UnclaimSubscriptionsRequest} returns this\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.setSubscriptionReferenceIdsList = function(value) {\n return jspb.Message.setField(this, 1, value || []);\n};\n\n\n/**\n * @param {string} value\n * @param {number=} opt_index\n * @return {!proto.ramius.UnclaimSubscriptionsRequest} returns this\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.addSubscriptionReferenceIds = function(value, opt_index) {\n return jspb.Message.addToRepeatedField(this, 1, value, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.UnclaimSubscriptionsRequest} returns this\n */\nproto.ramius.UnclaimSubscriptionsRequest.prototype.clearSubscriptionReferenceIdsList = function() {\n return this.setSubscriptionReferenceIdsList([]);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.UnclaimSubscriptionsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.UnclaimSubscriptionsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.UnclaimSubscriptionsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.UnclaimSubscriptionsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UnclaimSubscriptionsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n errorsList: jspb.Message.toObjectList(msg.getErrorsList(),\n error_pb.Error.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.UnclaimSubscriptionsResponse}\n */\nproto.ramius.UnclaimSubscriptionsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.UnclaimSubscriptionsResponse;\n return proto.ramius.UnclaimSubscriptionsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.UnclaimSubscriptionsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.UnclaimSubscriptionsResponse}\n */\nproto.ramius.UnclaimSubscriptionsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new error_pb.Error;\n reader.readMessage(value,error_pb.Error.deserializeBinaryFromReader);\n msg.addErrors(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.UnclaimSubscriptionsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.UnclaimSubscriptionsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.UnclaimSubscriptionsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.UnclaimSubscriptionsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getErrorsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n error_pb.Error.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated Error errors = 1;\n * @return {!Array}\n */\nproto.ramius.UnclaimSubscriptionsResponse.prototype.getErrorsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, error_pb.Error, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.UnclaimSubscriptionsResponse} returns this\n*/\nproto.ramius.UnclaimSubscriptionsResponse.prototype.setErrorsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.Error=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.Error}\n */\nproto.ramius.UnclaimSubscriptionsResponse.prototype.addErrors = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.Error, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.UnclaimSubscriptionsResponse} returns this\n */\nproto.ramius.UnclaimSubscriptionsResponse.prototype.clearErrorsList = function() {\n return this.setErrorsList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RequestTrialRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RequestTrialRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RequestTrialRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestTrialRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n feature: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RequestTrialRequest}\n */\nproto.ramius.RequestTrialRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RequestTrialRequest;\n return proto.ramius.RequestTrialRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RequestTrialRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RequestTrialRequest}\n */\nproto.ramius.RequestTrialRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setFeature(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RequestTrialRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RequestTrialRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RequestTrialRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestTrialRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFeature();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionFeature feature = 1;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.RequestTrialRequest.prototype.getFeature = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.RequestTrialRequest} returns this\n */\nproto.ramius.RequestTrialRequest.prototype.setFeature = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RequestTrialResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RequestTrialResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RequestTrialResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestTrialResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n trial: (f = msg.getTrial()) && proto.ramius.FeatureTrialDetails.toObject(includeInstance, f)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RequestTrialResponse}\n */\nproto.ramius.RequestTrialResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RequestTrialResponse;\n return proto.ramius.RequestTrialResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RequestTrialResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RequestTrialResponse}\n */\nproto.ramius.RequestTrialResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.FeatureTrialDetails;\n reader.readMessage(value,proto.ramius.FeatureTrialDetails.deserializeBinaryFromReader);\n msg.setTrial(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RequestTrialResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RequestTrialResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RequestTrialResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestTrialResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getTrial();\n if (f != null) {\n writer.writeMessage(\n 1,\n f,\n proto.ramius.FeatureTrialDetails.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * optional FeatureTrialDetails trial = 1;\n * @return {?proto.ramius.FeatureTrialDetails}\n */\nproto.ramius.RequestTrialResponse.prototype.getTrial = function() {\n return /** @type{?proto.ramius.FeatureTrialDetails} */ (\n jspb.Message.getWrapperField(this, proto.ramius.FeatureTrialDetails, 1));\n};\n\n\n/**\n * @param {?proto.ramius.FeatureTrialDetails|undefined} value\n * @return {!proto.ramius.RequestTrialResponse} returns this\n*/\nproto.ramius.RequestTrialResponse.prototype.setTrial = function(value) {\n return jspb.Message.setWrapperField(this, 1, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.RequestTrialResponse} returns this\n */\nproto.ramius.RequestTrialResponse.prototype.clearTrial = function() {\n return this.setTrial(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.RequestTrialResponse.prototype.hasTrial = function() {\n return jspb.Message.getField(this, 1) != null;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FeatureTrialDetails.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FeatureTrialDetails.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FeatureTrialDetails} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialDetails.toObject = function(includeInstance, msg) {\n var f, obj = {\n type: jspb.Message.getFieldWithDefault(msg, 1, 0),\n used: jspb.Message.getFieldWithDefault(msg, 2, 0),\n maxAllowed: jspb.Message.getFieldWithDefault(msg, 3, 0),\n startDate: (f = msg.getStartDate()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),\n duration: jspb.Message.getFloatingPointFieldWithDefault(msg, 5, 0.0),\n requestedBy: jspb.Message.getFieldWithDefault(msg, 6, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FeatureTrialDetails}\n */\nproto.ramius.FeatureTrialDetails.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FeatureTrialDetails;\n return proto.ramius.FeatureTrialDetails.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FeatureTrialDetails} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FeatureTrialDetails}\n */\nproto.ramius.FeatureTrialDetails.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setType(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setUsed(value);\n break;\n case 3:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setMaxAllowed(value);\n break;\n case 4:\n var value = new google_protobuf_timestamp_pb.Timestamp;\n reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);\n msg.setStartDate(value);\n break;\n case 5:\n var value = /** @type {number} */ (reader.readFloat());\n msg.setDuration(value);\n break;\n case 6:\n var value = /** @type {string} */ (reader.readString());\n msg.setRequestedBy(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FeatureTrialDetails.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FeatureTrialDetails.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FeatureTrialDetails} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialDetails.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getType();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getUsed();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n f = message.getMaxAllowed();\n if (f !== 0) {\n writer.writeInt32(\n 3,\n f\n );\n }\n f = message.getStartDate();\n if (f != null) {\n writer.writeMessage(\n 4,\n f,\n google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter\n );\n }\n f = message.getDuration();\n if (f !== 0.0) {\n writer.writeFloat(\n 5,\n f\n );\n }\n f = message.getRequestedBy();\n if (f.length > 0) {\n writer.writeString(\n 6,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionFeature type = 1;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.FeatureTrialDetails.prototype.getType = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.setType = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional int32 used = 2;\n * @return {number}\n */\nproto.ramius.FeatureTrialDetails.prototype.getUsed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.setUsed = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n/**\n * optional int32 max_allowed = 3;\n * @return {number}\n */\nproto.ramius.FeatureTrialDetails.prototype.getMaxAllowed = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.setMaxAllowed = function(value) {\n return jspb.Message.setProto3IntField(this, 3, value);\n};\n\n\n/**\n * optional google.protobuf.Timestamp start_date = 4;\n * @return {?proto.google.protobuf.Timestamp}\n */\nproto.ramius.FeatureTrialDetails.prototype.getStartDate = function() {\n return /** @type{?proto.google.protobuf.Timestamp} */ (\n jspb.Message.getWrapperField(this, google_protobuf_timestamp_pb.Timestamp, 4));\n};\n\n\n/**\n * @param {?proto.google.protobuf.Timestamp|undefined} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n*/\nproto.ramius.FeatureTrialDetails.prototype.setStartDate = function(value) {\n return jspb.Message.setWrapperField(this, 4, value);\n};\n\n\n/**\n * Clears the message field making it undefined.\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.clearStartDate = function() {\n return this.setStartDate(undefined);\n};\n\n\n/**\n * Returns whether this field is set.\n * @return {boolean}\n */\nproto.ramius.FeatureTrialDetails.prototype.hasStartDate = function() {\n return jspb.Message.getField(this, 4) != null;\n};\n\n\n/**\n * optional float duration = 5;\n * @return {number}\n */\nproto.ramius.FeatureTrialDetails.prototype.getDuration = function() {\n return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 5, 0.0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.setDuration = function(value) {\n return jspb.Message.setProto3FloatField(this, 5, value);\n};\n\n\n/**\n * optional string requested_by = 6;\n * @return {string}\n */\nproto.ramius.FeatureTrialDetails.prototype.getRequestedBy = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.FeatureTrialDetails} returns this\n */\nproto.ramius.FeatureTrialDetails.prototype.setRequestedBy = function(value) {\n return jspb.Message.setProto3StringField(this, 6, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.FeatureTrialsResponse.repeatedFields_ = [1,2];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FeatureTrialsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FeatureTrialsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FeatureTrialsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n activeList: jspb.Message.toObjectList(msg.getActiveList(),\n proto.ramius.FeatureTrialDetails.toObject, includeInstance),\n availableList: jspb.Message.toObjectList(msg.getAvailableList(),\n proto.ramius.FeatureTrialDetails.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FeatureTrialsResponse}\n */\nproto.ramius.FeatureTrialsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FeatureTrialsResponse;\n return proto.ramius.FeatureTrialsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FeatureTrialsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FeatureTrialsResponse}\n */\nproto.ramius.FeatureTrialsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.FeatureTrialDetails;\n reader.readMessage(value,proto.ramius.FeatureTrialDetails.deserializeBinaryFromReader);\n msg.addActive(value);\n break;\n case 2:\n var value = new proto.ramius.FeatureTrialDetails;\n reader.readMessage(value,proto.ramius.FeatureTrialDetails.deserializeBinaryFromReader);\n msg.addAvailable(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FeatureTrialsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FeatureTrialsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FeatureTrialsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getActiveList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.FeatureTrialDetails.serializeBinaryToWriter\n );\n }\n f = message.getAvailableList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 2,\n f,\n proto.ramius.FeatureTrialDetails.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated FeatureTrialDetails active = 1;\n * @return {!Array}\n */\nproto.ramius.FeatureTrialsResponse.prototype.getActiveList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.FeatureTrialDetails, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.FeatureTrialsResponse} returns this\n*/\nproto.ramius.FeatureTrialsResponse.prototype.setActiveList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.FeatureTrialDetails=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.FeatureTrialDetails}\n */\nproto.ramius.FeatureTrialsResponse.prototype.addActive = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.FeatureTrialDetails, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.FeatureTrialsResponse} returns this\n */\nproto.ramius.FeatureTrialsResponse.prototype.clearActiveList = function() {\n return this.setActiveList([]);\n};\n\n\n/**\n * repeated FeatureTrialDetails available = 2;\n * @return {!Array}\n */\nproto.ramius.FeatureTrialsResponse.prototype.getAvailableList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.FeatureTrialDetails, 2));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.FeatureTrialsResponse} returns this\n*/\nproto.ramius.FeatureTrialsResponse.prototype.setAvailableList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 2, value);\n};\n\n\n/**\n * @param {!proto.ramius.FeatureTrialDetails=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.FeatureTrialDetails}\n */\nproto.ramius.FeatureTrialsResponse.prototype.addAvailable = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.ramius.FeatureTrialDetails, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.FeatureTrialsResponse} returns this\n */\nproto.ramius.FeatureTrialsResponse.prototype.clearAvailableList = function() {\n return this.setAvailableList([]);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.FeatureTrialsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.FeatureTrialsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.FeatureTrialsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.FeatureTrialsRequest}\n */\nproto.ramius.FeatureTrialsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.FeatureTrialsRequest;\n return proto.ramius.FeatureTrialsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.FeatureTrialsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.FeatureTrialsRequest}\n */\nproto.ramius.FeatureTrialsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.FeatureTrialsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.FeatureTrialsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.FeatureTrialsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.FeatureTrialsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionsSummaryRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionsSummaryRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionsSummaryRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsSummaryRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n feature: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionsSummaryRequest}\n */\nproto.ramius.SubscriptionsSummaryRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionsSummaryRequest;\n return proto.ramius.SubscriptionsSummaryRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionsSummaryRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionsSummaryRequest}\n */\nproto.ramius.SubscriptionsSummaryRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setFeature(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionsSummaryRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionsSummaryRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionsSummaryRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsSummaryRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFeature();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionFeature feature = 1;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.SubscriptionsSummaryRequest.prototype.getFeature = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.SubscriptionsSummaryRequest} returns this\n */\nproto.ramius.SubscriptionsSummaryRequest.prototype.setFeature = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionsTotals.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionsTotals.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionsTotals} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsTotals.toObject = function(includeInstance, msg) {\n var f, obj = {\n productId: jspb.Message.getFieldWithDefault(msg, 1, 0),\n total: jspb.Message.getFieldWithDefault(msg, 2, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionsTotals}\n */\nproto.ramius.SubscriptionsTotals.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionsTotals;\n return proto.ramius.SubscriptionsTotals.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionsTotals} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionsTotals}\n */\nproto.ramius.SubscriptionsTotals.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionProductId} */ (reader.readEnum());\n msg.setProductId(value);\n break;\n case 2:\n var value = /** @type {number} */ (reader.readInt32());\n msg.setTotal(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionsTotals.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionsTotals.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionsTotals} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsTotals.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getProductId();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getTotal();\n if (f !== 0) {\n writer.writeInt32(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionProductId product_id = 1;\n * @return {!proto.ramius.SubscriptionProductId}\n */\nproto.ramius.SubscriptionsTotals.prototype.getProductId = function() {\n return /** @type {!proto.ramius.SubscriptionProductId} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionProductId} value\n * @return {!proto.ramius.SubscriptionsTotals} returns this\n */\nproto.ramius.SubscriptionsTotals.prototype.setProductId = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional int32 total = 2;\n * @return {number}\n */\nproto.ramius.SubscriptionsTotals.prototype.getTotal = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscriptionsTotals} returns this\n */\nproto.ramius.SubscriptionsTotals.prototype.setTotal = function(value) {\n return jspb.Message.setProto3IntField(this, 2, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SubscriptionsSummaryResponse.repeatedFields_ = [3];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionsSummaryResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionsSummaryResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsSummaryResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n orgName: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n feature: jspb.Message.getFieldWithDefault(msg, 2, 0),\n totalsList: jspb.Message.toObjectList(msg.getTotalsList(),\n proto.ramius.SubscriptionsTotals.toObject, includeInstance),\n overrideLimit: jspb.Message.getFieldWithDefault(msg, 4, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionsSummaryResponse}\n */\nproto.ramius.SubscriptionsSummaryResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionsSummaryResponse;\n return proto.ramius.SubscriptionsSummaryResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionsSummaryResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionsSummaryResponse}\n */\nproto.ramius.SubscriptionsSummaryResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setOrgName(value);\n break;\n case 2:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setFeature(value);\n break;\n case 3:\n var value = new proto.ramius.SubscriptionsTotals;\n reader.readMessage(value,proto.ramius.SubscriptionsTotals.deserializeBinaryFromReader);\n msg.addTotals(value);\n break;\n case 4:\n var value = /** @type {number} */ (reader.readUint32());\n msg.setOverrideLimit(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionsSummaryResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionsSummaryResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsSummaryResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getOrgName();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getFeature();\n if (f !== 0.0) {\n writer.writeEnum(\n 2,\n f\n );\n }\n f = message.getTotalsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 3,\n f,\n proto.ramius.SubscriptionsTotals.serializeBinaryToWriter\n );\n }\n f = message.getOverrideLimit();\n if (f !== 0) {\n writer.writeUint32(\n 4,\n f\n );\n }\n};\n\n\n/**\n * optional string org_name = 1;\n * @return {string}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.getOrgName = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.SubscriptionsSummaryResponse} returns this\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.setOrgName = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional SubscriptionFeature feature = 2;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.getFeature = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 2, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.SubscriptionsSummaryResponse} returns this\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.setFeature = function(value) {\n return jspb.Message.setProto3EnumField(this, 2, value);\n};\n\n\n/**\n * repeated SubscriptionsTotals totals = 3;\n * @return {!Array}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.getTotalsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.SubscriptionsTotals, 3));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SubscriptionsSummaryResponse} returns this\n*/\nproto.ramius.SubscriptionsSummaryResponse.prototype.setTotalsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 3, value);\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionsTotals=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.SubscriptionsTotals}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.addTotals = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.ramius.SubscriptionsTotals, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SubscriptionsSummaryResponse} returns this\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.clearTotalsList = function() {\n return this.setTotalsList([]);\n};\n\n\n/**\n * optional uint32 override_limit = 4;\n * @return {number}\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.getOverrideLimit = function() {\n return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));\n};\n\n\n/**\n * @param {number} value\n * @return {!proto.ramius.SubscriptionsSummaryResponse} returns this\n */\nproto.ramius.SubscriptionsSummaryResponse.prototype.setOverrideLimit = function(value) {\n return jspb.Message.setProto3IntField(this, 4, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionsRequest.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionsRequest.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionsRequest} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsRequest.toObject = function(includeInstance, msg) {\n var f, obj = {\n feature: jspb.Message.getFieldWithDefault(msg, 1, 0)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionsRequest}\n */\nproto.ramius.SubscriptionsRequest.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionsRequest;\n return proto.ramius.SubscriptionsRequest.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionsRequest} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionsRequest}\n */\nproto.ramius.SubscriptionsRequest.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.SubscriptionFeature} */ (reader.readEnum());\n msg.setFeature(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionsRequest.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionsRequest.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionsRequest} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsRequest.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getFeature();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n};\n\n\n/**\n * optional SubscriptionFeature feature = 1;\n * @return {!proto.ramius.SubscriptionFeature}\n */\nproto.ramius.SubscriptionsRequest.prototype.getFeature = function() {\n return /** @type {!proto.ramius.SubscriptionFeature} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionFeature} value\n * @return {!proto.ramius.SubscriptionsRequest} returns this\n */\nproto.ramius.SubscriptionsRequest.prototype.setFeature = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n\n/**\n * List of repeated fields within this message type.\n * @private {!Array}\n * @const\n */\nproto.ramius.SubscriptionsResponse.repeatedFields_ = [1];\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.SubscriptionsResponse.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.SubscriptionsResponse.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.SubscriptionsResponse} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsResponse.toObject = function(includeInstance, msg) {\n var f, obj = {\n subscriptionsList: jspb.Message.toObjectList(msg.getSubscriptionsList(),\n proto.ramius.SubscriptionDetails.toObject, includeInstance)\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.SubscriptionsResponse}\n */\nproto.ramius.SubscriptionsResponse.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.SubscriptionsResponse;\n return proto.ramius.SubscriptionsResponse.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.SubscriptionsResponse} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.SubscriptionsResponse}\n */\nproto.ramius.SubscriptionsResponse.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = new proto.ramius.SubscriptionDetails;\n reader.readMessage(value,proto.ramius.SubscriptionDetails.deserializeBinaryFromReader);\n msg.addSubscriptions(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.SubscriptionsResponse.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.SubscriptionsResponse.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.SubscriptionsResponse} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.SubscriptionsResponse.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getSubscriptionsList();\n if (f.length > 0) {\n writer.writeRepeatedMessage(\n 1,\n f,\n proto.ramius.SubscriptionDetails.serializeBinaryToWriter\n );\n }\n};\n\n\n/**\n * repeated SubscriptionDetails subscriptions = 1;\n * @return {!Array}\n */\nproto.ramius.SubscriptionsResponse.prototype.getSubscriptionsList = function() {\n return /** @type{!Array} */ (\n jspb.Message.getRepeatedWrapperField(this, proto.ramius.SubscriptionDetails, 1));\n};\n\n\n/**\n * @param {!Array} value\n * @return {!proto.ramius.SubscriptionsResponse} returns this\n*/\nproto.ramius.SubscriptionsResponse.prototype.setSubscriptionsList = function(value) {\n return jspb.Message.setRepeatedWrapperField(this, 1, value);\n};\n\n\n/**\n * @param {!proto.ramius.SubscriptionDetails=} opt_value\n * @param {number=} opt_index\n * @return {!proto.ramius.SubscriptionDetails}\n */\nproto.ramius.SubscriptionsResponse.prototype.addSubscriptions = function(opt_value, opt_index) {\n return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.ramius.SubscriptionDetails, opt_index);\n};\n\n\n/**\n * Clears the list making it empty but non-null.\n * @return {!proto.ramius.SubscriptionsResponse} returns this\n */\nproto.ramius.SubscriptionsResponse.prototype.clearSubscriptionsList = function() {\n return this.setSubscriptionsList([]);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.SubscriptionType = {\n INVALID_TYPE: 0,\n TYPE_FREE: 1,\n TYPE_TRIAL: 2,\n TYPE_PAID: 3,\n TYPE_EXTENSION: 4\n};\n\ngoog.object.extend(exports, proto.ramius);\n","// source: timeseries_api_common.proto\n/**\n * @fileoverview\n * @enhanceable\n * @suppress {missingRequire} reports error on implicit type usages.\n * @suppress {messageConventions} JS Compiler reports an error if a variable or\n * field starts with 'MSG_' and isn't a translatable message.\n * @public\n */\n// GENERATED CODE -- DO NOT EDIT!\n/* eslint-disable */\n// @ts-nocheck\n\nvar jspb = require('google-protobuf');\nvar goog = jspb;\nvar global = (function() { return this || window || global || self || Function('return this')(); }).call(null);\n\ngoog.exportSymbol('proto.ramius.AlarmEventType', null, global);\ngoog.exportSymbol('proto.ramius.ApiError', null, global);\ngoog.exportSymbol('proto.ramius.ApiError.ErrorType', null, global);\ngoog.exportSymbol('proto.ramius.ChainOperator', null, global);\ngoog.exportSymbol('proto.ramius.Granularity', null, global);\ngoog.exportSymbol('proto.ramius.Operator', null, global);\ngoog.exportSymbol('proto.ramius.RequestMetadata', null, global);\ngoog.exportSymbol('proto.ramius.SortOrder', null, global);\ngoog.exportSymbol('proto.ramius.TelemetryEventType', null, global);\ngoog.exportSymbol('proto.ramius.TrustEventType', null, global);\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.ApiError = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.ApiError, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.ApiError.displayName = 'proto.ramius.ApiError';\n}\n/**\n * Generated by JsPbCodeGenerator.\n * @param {Array=} opt_data Optional initial data array, typically from a\n * server response, or constructed directly in Javascript. The array is used\n * in place and becomes part of the constructed object. It is not cloned.\n * If no data is provided, the constructed object will be empty, but still\n * valid.\n * @extends {jspb.Message}\n * @constructor\n */\nproto.ramius.RequestMetadata = function(opt_data) {\n jspb.Message.initialize(this, opt_data, 0, -1, null, null);\n};\ngoog.inherits(proto.ramius.RequestMetadata, jspb.Message);\nif (goog.DEBUG && !COMPILED) {\n /**\n * @public\n * @override\n */\n proto.ramius.RequestMetadata.displayName = 'proto.ramius.RequestMetadata';\n}\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.ApiError.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.ApiError.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.ApiError} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ApiError.toObject = function(includeInstance, msg) {\n var f, obj = {\n err: jspb.Message.getFieldWithDefault(msg, 1, 0),\n errMessage: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.ApiError}\n */\nproto.ramius.ApiError.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.ApiError;\n return proto.ramius.ApiError.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.ApiError} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.ApiError}\n */\nproto.ramius.ApiError.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {!proto.ramius.ApiError.ErrorType} */ (reader.readEnum());\n msg.setErr(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setErrMessage(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.ApiError.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.ApiError.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.ApiError} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.ApiError.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getErr();\n if (f !== 0.0) {\n writer.writeEnum(\n 1,\n f\n );\n }\n f = message.getErrMessage();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.ApiError.ErrorType = {\n ERR_UNSPECIFIED: 0,\n ERR_REQUEST_INVALID: 1,\n ERR_RESPONSE_TOO_BIG: 2,\n ERR_REQUEST_TIMEOUT: 3,\n ERR_INTERNAL: 10,\n ERR_TOO_MANY_REQUESTS: 20\n};\n\n/**\n * optional ErrorType err = 1;\n * @return {!proto.ramius.ApiError.ErrorType}\n */\nproto.ramius.ApiError.prototype.getErr = function() {\n return /** @type {!proto.ramius.ApiError.ErrorType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));\n};\n\n\n/**\n * @param {!proto.ramius.ApiError.ErrorType} value\n * @return {!proto.ramius.ApiError} returns this\n */\nproto.ramius.ApiError.prototype.setErr = function(value) {\n return jspb.Message.setProto3EnumField(this, 1, value);\n};\n\n\n/**\n * optional string err_message = 2;\n * @return {string}\n */\nproto.ramius.ApiError.prototype.getErrMessage = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.ApiError} returns this\n */\nproto.ramius.ApiError.prototype.setErrMessage = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n\n\n\nif (jspb.Message.GENERATE_TO_OBJECT) {\n/**\n * Creates an object representation of this proto.\n * Field names that are reserved in JavaScript and will be renamed to pb_name.\n * Optional fields that are not set will be set to undefined.\n * To access a reserved field use, foo.pb_, eg, foo.pb_default.\n * For the list of reserved names please see:\n * net/proto2/compiler/js/internal/generator.cc#kKeyword.\n * @param {boolean=} opt_includeInstance Deprecated. whether to include the\n * JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @return {!Object}\n */\nproto.ramius.RequestMetadata.prototype.toObject = function(opt_includeInstance) {\n return proto.ramius.RequestMetadata.toObject(opt_includeInstance, this);\n};\n\n\n/**\n * Static version of the {@see toObject} method.\n * @param {boolean|undefined} includeInstance Deprecated. Whether to include\n * the JSPB instance for transitional soy proto support:\n * http://goto/soy-param-migration\n * @param {!proto.ramius.RequestMetadata} msg The msg instance to transform.\n * @return {!Object}\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestMetadata.toObject = function(includeInstance, msg) {\n var f, obj = {\n id: jspb.Message.getFieldWithDefault(msg, 1, \"\"),\n comment: jspb.Message.getFieldWithDefault(msg, 2, \"\")\n };\n\n if (includeInstance) {\n obj.$jspbMessageInstance = msg;\n }\n return obj;\n};\n}\n\n\n/**\n * Deserializes binary data (in protobuf wire format).\n * @param {jspb.ByteSource} bytes The bytes to deserialize.\n * @return {!proto.ramius.RequestMetadata}\n */\nproto.ramius.RequestMetadata.deserializeBinary = function(bytes) {\n var reader = new jspb.BinaryReader(bytes);\n var msg = new proto.ramius.RequestMetadata;\n return proto.ramius.RequestMetadata.deserializeBinaryFromReader(msg, reader);\n};\n\n\n/**\n * Deserializes binary data (in protobuf wire format) from the\n * given reader into the given message object.\n * @param {!proto.ramius.RequestMetadata} msg The message object to deserialize into.\n * @param {!jspb.BinaryReader} reader The BinaryReader to use.\n * @return {!proto.ramius.RequestMetadata}\n */\nproto.ramius.RequestMetadata.deserializeBinaryFromReader = function(msg, reader) {\n while (reader.nextField()) {\n if (reader.isEndGroup()) {\n break;\n }\n var field = reader.getFieldNumber();\n switch (field) {\n case 1:\n var value = /** @type {string} */ (reader.readString());\n msg.setId(value);\n break;\n case 2:\n var value = /** @type {string} */ (reader.readString());\n msg.setComment(value);\n break;\n default:\n reader.skipField();\n break;\n }\n }\n return msg;\n};\n\n\n/**\n * Serializes the message to binary data (in protobuf wire format).\n * @return {!Uint8Array}\n */\nproto.ramius.RequestMetadata.prototype.serializeBinary = function() {\n var writer = new jspb.BinaryWriter();\n proto.ramius.RequestMetadata.serializeBinaryToWriter(this, writer);\n return writer.getResultBuffer();\n};\n\n\n/**\n * Serializes the given message to binary data (in protobuf wire\n * format), writing to the given BinaryWriter.\n * @param {!proto.ramius.RequestMetadata} message\n * @param {!jspb.BinaryWriter} writer\n * @suppress {unusedLocalVariables} f is only used for nested messages\n */\nproto.ramius.RequestMetadata.serializeBinaryToWriter = function(message, writer) {\n var f = undefined;\n f = message.getId();\n if (f.length > 0) {\n writer.writeString(\n 1,\n f\n );\n }\n f = message.getComment();\n if (f.length > 0) {\n writer.writeString(\n 2,\n f\n );\n }\n};\n\n\n/**\n * optional string id = 1;\n * @return {string}\n */\nproto.ramius.RequestMetadata.prototype.getId = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RequestMetadata} returns this\n */\nproto.ramius.RequestMetadata.prototype.setId = function(value) {\n return jspb.Message.setProto3StringField(this, 1, value);\n};\n\n\n/**\n * optional string comment = 2;\n * @return {string}\n */\nproto.ramius.RequestMetadata.prototype.getComment = function() {\n return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, \"\"));\n};\n\n\n/**\n * @param {string} value\n * @return {!proto.ramius.RequestMetadata} returns this\n */\nproto.ramius.RequestMetadata.prototype.setComment = function(value) {\n return jspb.Message.setProto3StringField(this, 2, value);\n};\n\n\n/**\n * @enum {number}\n */\nproto.ramius.ChainOperator = {\n CHAIN_OPERAND_INVALID: 0,\n AND: 1,\n OR: 2,\n NOT: 3\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.SortOrder = {\n SORT_ORDER_UNSPECIFIED: 0,\n SORT_ORDER_ASCENDING: 1,\n SORT_ORDER_DESCENDING: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.Operator = {\n OPERATOR_INVALID: 0,\n EQUALS: 1,\n NOT_EQUALS: 2,\n LIKE: 3,\n NOT_LIKE: 4,\n IN: 5,\n NOT_IN: 6,\n GREATER_THAN: 7,\n GREATER_THAN_EQUAL: 8,\n LESSER_THAN: 9,\n LESSER_THAN_EQUAL: 10,\n REGEXP_LIKE: 11,\n NOT_REGEXP_LIKE: 12\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.Granularity = {\n GRANULARITY_UNSPECIFIED: 0,\n PT1M: 1,\n PT5M: 2,\n PT10M: 3,\n PT15M: 100,\n PT20M: 105,\n PT30M: 4,\n PT1H: 10,\n PT2H: 120,\n PT3H: 125,\n PT4H: 130,\n PT5H: 135,\n PT6H: 11,\n PT7H: 140,\n PT8H: 145,\n PT9H: 150,\n PT10H: 155,\n PT11H: 160,\n PT12H: 12,\n P1D: 15,\n P2D: 165,\n P3D: 30,\n P1W: 35,\n P1M: 40,\n P2M: 45,\n P3M: 50\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.TrustEventType = {\n EVENT_TYPE_INVALID: 0,\n DEVICE_REBOOT: 1,\n NODE_REBOOT: 5,\n DEVICE_STAT: 10,\n GATEWAY_STAT: 15,\n SOFTWARE_ADD: 20,\n SOFTWARE_DEL: 21,\n HARDWARE_ADD: 30,\n HARDWARE_DEL: 31,\n SOFTWARE_HARDWARE_COUNT: 100,\n DOSSIER_ERROR: 105,\n DOSSIER_SUCCESSFUL: 110,\n DEVICE_RUNNING_CFG_CHANGE: 115,\n DEVICE_RUNNING_CFG_INIT: 120\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.AlarmEventType = {\n ALARM_EVENT_TYPE_INVALID: 0,\n ALARM_SUMMARY: 1,\n ALARM_DETAIL: 2\n};\n\n/**\n * @enum {number}\n */\nproto.ramius.TelemetryEventType = {\n TELEMETRY_EVENT_TYPE_INVALID: 0,\n TELEMETRY_EVENT_TYPE_CPU_USAGE: 1,\n TELEMETRY_EVENT_TYPE_MEMORY_USAGE: 2,\n TELEMETRY_EVENT_TYPE_HW_RESOURCE_NPU: 3,\n TELEMETRY_EVENT_TYPE_HW_RESOURCE_NPU_LT: 4,\n TELEMETRY_EVENT_TYPE_HW_RESOURCE_NPU_BANK: 5\n};\n\ngoog.object.extend(exports, proto.ramius);\n","var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var d=a.length,e=0;e=e}},\"es6\",\"es3\");$jscomp.polyfill(\"Array.prototype.find\",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},\"es6\",\"es3\");\n$jscomp.polyfill(\"String.prototype.startsWith\",function(a){return a?a:function(a,c){var b=$jscomp.checkStringArgs(this,a,\"startsWith\");a+=\"\";var e=b.length,f=a.length;c=Math.max(0,Math.min(c|0,b.length));for(var g=0;g=f}},\"es6\",\"es3\");\n$jscomp.polyfill(\"String.prototype.repeat\",function(a){return a?a:function(a){var b=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>a||1342177279>>=1)b+=b;return d}},\"es6\",\"es3\");var COMPILED=!0,goog=goog||{};goog.global=this||self;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return\"string\"==typeof a};goog.isBoolean=function(a){return\"boolean\"==typeof a};\ngoog.isNumber=function(a){return\"number\"==typeof a};goog.exportPath_=function(a,b,c){a=a.split(\".\");c=c||goog.global;a[0]in c||\"undefined\"==typeof c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};\ngoog.define=function(a,b){if(!COMPILED){var c=goog.global.CLOSURE_UNCOMPILED_DEFINES,d=goog.global.CLOSURE_DEFINES;c&&void 0===c.nodeType&&Object.prototype.hasOwnProperty.call(c,a)?b=c[a]:d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)&&(b=d[a])}return b};goog.FEATURESET_YEAR=2012;goog.DEBUG=!0;goog.LOCALE=\"en\";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;\ngoog.provide=function(a){if(goog.isInModuleLoader_())throw Error(\"goog.provide cannot be used within a module.\");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(\".\")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};\ngoog.getScriptNonce=function(a){if(a&&a!=goog.global)return goog.getScriptNonce_(a.document);null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document));return goog.cspNonce_};goog.NONCE_PATTERN_=/^[\\w+/_-]+[=]{0,2}$/;goog.cspNonce_=null;goog.getScriptNonce_=function(a){return(a=a.querySelector&&a.querySelector(\"script[nonce]\"))&&(a=a.nonce||a.getAttribute(\"nonce\"))&&goog.NONCE_PATTERN_.test(a)?a:\"\"};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error(\"Invalid module identifier\");if(!goog.isInGoogModuleLoader_())throw Error(\"Module \"+a+\" 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.\");\nif(goog.moduleLoaderState_.moduleName)throw Error(\"goog.module may only be called once per module.\");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace \"'+a+'\" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};\ngoog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a].exports;if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}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};\ngoog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?\"function\"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};\ngoog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");goog.moduleLoaderState_.declareLegacyNamespace=!0};\ngoog.declareModuleId=function(a){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error(\"goog.declareModuleId may only be called from within an ES6 module\");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error(\"goog.declareModuleId may only be called once per module.\");if(a in goog.loadedModules_)throw Error('Module with namespace \"'+a+'\" already exists.');}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=a;else{var b=goog.global.$jscomp;if(!b||\"function\"!=typeof b.getCurrentModulePath)throw Error('Module with namespace \"'+\na+'\" has been loaded incorrectly.');b=b.require(b.getCurrentModulePath());goog.loadedModules_[a]={exports:b,type:goog.ModuleType.ES6,moduleId:a}}};goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||\"\",Error(\"Importing test-only code into non-debug environment\"+(a?\": \"+a:\".\"));};goog.forwardDeclare=function(a){};\nCOMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={\"goog.module\":!0});goog.getObjectByName=function(a,b){a=a.split(\".\");b=b||goog.global;for(var c=0;c>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;\ngoog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if(\"object\"==b||\"array\"==b){if(\"function\"===typeof a.clone)return a.clone();b=\"array\"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};\ngoog.bindJs_=function(a,b,c){if(!a)throw Error();if(2{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});\na(\"es7\",function(){return b(\"2 ** 2 == 4\")});a(\"es8\",function(){return b(\"async () => 1, true\")});a(\"es9\",function(){return b(\"({...rest} = {}), true\")});a(\"es_next\",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if(\"always\"==goog.TRANSPILE)return!0;if(\"never\"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();this.requiresTranspilation_=c.map;this.transpilationTarget_=this.transpilationTarget_||\nc.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||\"es6\"!=b||\"noModule\"in goog.global.document.createElement(\"script\")?!1:!0;throw Error(\"Unknown language mode: \"+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\\/(SCRIPT)/ig,\"\\\\x3c/$1\")},goog.DebugLoader_=function(){this.dependencies_={};\nthis.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){b=[];for(var e=0;e\\x3c/script>\";b.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(d):d)}else{var e=b.createElement(\"script\");e.defer=goog.Dependency.defer_;e.async=!1;e.type=\"text/javascript\";(d=goog.getScriptNonce())&&e.setAttribute(\"nonce\",d);goog.DebugLoader_.IS_OLD_IE_?\n(a.pause(),e.onreadystatechange=function(){if(\"loaded\"==e.readyState||\"complete\"==e.readyState)a.loaded(),a.resume()}):e.onload=function(){e.onload=null;a.loaded()};e.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path;b.head.appendChild(e)}}else goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"),\"deps.js\"==this.relativePath?(goog.logToConsole_(\"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true.\"),\na.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(a,b){a=b?'