blob: eac4086a526b73e7b6e61fb7a149d07063eb0bc1 [file] [log] [blame]
{"version":3,"sources":["webpack:///webpack/bootstrap de617373a0fa5acf5972","webpack:///./~/inversify/lib/inversify.js","webpack:///./~/sprotty/lib/base/types.js","webpack:///./~/sprotty/lib/base/model/smodel.js","webpack:///./~/sprotty/lib/utils/geometry.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/inversify/lib/constants/metadata_keys.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/snabbdom-jsx/snabbdom-jsx.js","webpack:///./~/sprotty/lib/base/commands/command.js","webpack:///./~/sprotty/lib/features/bounds/model.js","webpack:///./~/core-js/modules/_export.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/inversify/lib/constants/error_msgs.js","webpack:///./~/sprotty/lib/base/model/smodel-utils.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/sprotty/lib/index.js","webpack:///./~/inversify/lib/planning/metadata.js","webpack:///./~/sprotty/lib/base/model/smodel-factory.js","webpack:///./~/sprotty/lib/base/views/vnode-utils.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/inversify/lib/constants/literal_types.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/inversify/lib/annotation/decorator_utils.js","webpack:///./~/sprotty/lib/base/views/mouse-tool.js","webpack:///./~/sprotty/lib/features/select/model.js","webpack:///./~/sprotty/lib/features/viewport/model.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/inversify/lib/utils/guid.js","webpack:///./~/sprotty/lib/base/views/key-tool.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/sprotty/lib/base/actions/action-handler.js","webpack:///./~/sprotty/lib/base/animations/animation.js","webpack:///./~/sprotty/lib/features/export/svg-exporter.js","webpack:///./~/sprotty/lib/features/move/model.js","webpack:///./~/sprotty/lib/features/viewport/viewport.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./~/inversify/lib/utils/serialization.js","webpack:///./~/sprotty/lib/base/animations/animation-frame-syncer.js","webpack:///./~/sprotty/lib/base/features/set-model.js","webpack:///./~/sprotty/lib/features/bounds/bounds-manipulation.js","webpack:///./~/sprotty/lib/features/fade/model.js","webpack:///./~/sprotty/lib/features/hover/hover.js","webpack:///./~/sprotty/lib/utils/registry.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/sprotty/lib/base/features/initialize-canvas.js","webpack:///./~/sprotty/lib/features/expand/expand.js","webpack:///./~/sprotty/lib/features/export/model.js","webpack:///./~/sprotty/lib/features/hover/model.js","webpack:///./~/sprotty/lib/features/move/move.js","webpack:///./~/sprotty/lib/utils/browser.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/inversify/lib/syntax/binding_on_syntax.js","webpack:///./~/inversify/lib/syntax/binding_when_syntax.js","webpack:///./~/sprotty/lib/base/actions/action-dispatcher.js","webpack:///./~/sprotty/lib/base/actions/action.js","webpack:///./~/sprotty/lib/base/model/smodel-storage.js","webpack:///./~/sprotty/lib/base/views/dom-helper.js","webpack:///./~/sprotty/lib/features/bounds/abstract-layout.js","webpack:///./~/sprotty/lib/features/bounds/layout.js","webpack:///./~/sprotty/lib/features/button/button-handler.js","webpack:///./~/sprotty/lib/features/button/model.js","webpack:///./~/sprotty/lib/features/expand/model.js","webpack:///./~/sprotty/lib/features/fade/fade.js","webpack:///./~/sprotty/lib/features/open/open.js","webpack:///./~/sprotty/lib/features/undo-redo/undo-redo.js","webpack:///./~/sprotty/lib/features/update/model-matching.js","webpack:///./~/sprotty/lib/features/update/update-model.js","webpack:///./~/sprotty/lib/features/viewport/center-fit.js","webpack:///./~/sprotty/lib/features/viewport/viewport-root.js","webpack:///./~/sprotty/lib/graph/sgraph.js","webpack:///./~/sprotty/lib/model-source/model-source.js","webpack:///./~/sprotty/lib/utils/logging.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/_new-promise-capability.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_to-absolute-index.js","webpack:///./~/core-js/modules/_validate-collection.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/file-saver/FileSaver.js","webpack:///./~/inversify/lib/annotation/inject.js","webpack:///./~/inversify/lib/planning/metadata_reader.js","webpack:///./~/inversify/lib/planning/target.js","webpack:///./~/inversify/lib/syntax/binding_when_on_syntax.js","webpack:///./~/inversify/lib/syntax/constraint_helpers.js","webpack:///./~/inversify/lib/utils/exceptions.js","webpack:///./~/snabbdom/vnode.js","webpack:///./~/sprotty/lib/base/animations/easing.js","webpack:///./~/sprotty/lib/base/commands/command-stack.js","webpack:///./~/sprotty/lib/base/views/thunk-view.js","webpack:///./~/sprotty/lib/base/views/view.js","webpack:///./~/sprotty/lib/base/views/viewer-cache.js","webpack:///./~/sprotty/lib/base/views/viewer.js","webpack:///./~/sprotty/lib/base/views/vnode-decorators.js","webpack:///./~/sprotty/lib/features/bounds/hbox-layout.js","webpack:///./~/sprotty/lib/features/bounds/stack-layout.js","webpack:///./~/sprotty/lib/features/bounds/vbox-layout.js","webpack:///./~/sprotty/lib/features/export/export.js","webpack:///./~/sprotty/lib/features/open/model.js","webpack:///./~/sprotty/lib/features/select/select.js","webpack:///./~/sprotty/lib/features/viewport/scroll.js","webpack:///./~/sprotty/lib/features/viewport/zoom.js","webpack:///./~/sprotty/lib/graph/views.js","webpack:///./~/sprotty/lib/model-source/diagram-server.js","webpack:///./~/sprotty/lib/model-source/diagram-state.js","webpack:///./~/sprotty/~/snabbdom/es/h.js","webpack:///./~/sprotty/~/snabbdom/es/is.js","webpack:///./~/sprotty/~/snabbdom/es/snabbdom.js","webpack:///./~/sprotty/~/snabbdom/es/vnode.js","webpack:///./~/core-js/es6/map.js","webpack:///./~/core-js/es6/promise.js","webpack:///./~/core-js/es6/string.js","webpack:///./~/core-js/es6/symbol.js","webpack:///./index.ts","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/_perform.js","webpack:///./~/core-js/modules/_promise-resolve.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/html-parse-stringify2/lib/parse-tag.js","webpack:///./~/html-parse-stringify2/lib/parse.js","webpack:///./~/inversify/lib/annotation/injectable.js","webpack:///./~/inversify/lib/annotation/multi_inject.js","webpack:///./~/inversify/lib/annotation/named.js","webpack:///./~/inversify/lib/annotation/optional.js","webpack:///./~/inversify/lib/annotation/post_construct.js","webpack:///./~/inversify/lib/annotation/tagged.js","webpack:///./~/inversify/lib/annotation/target_name.js","webpack:///./~/inversify/lib/annotation/unmanaged.js","webpack:///./~/inversify/lib/bindings/binding.js","webpack:///./~/inversify/lib/bindings/binding_count.js","webpack:///./~/inversify/lib/container/container.js","webpack:///./~/inversify/lib/container/container_module.js","webpack:///./~/inversify/lib/container/container_snapshot.js","webpack:///./~/inversify/lib/container/lookup.js","webpack:///./~/inversify/lib/planning/context.js","webpack:///./~/inversify/lib/planning/plan.js","webpack:///./~/inversify/lib/planning/planner.js","webpack:///./~/inversify/lib/planning/queryable_string.js","webpack:///./~/inversify/lib/planning/reflection_utils.js","webpack:///./~/inversify/lib/planning/request.js","webpack:///./~/inversify/lib/resolution/instantiation.js","webpack:///./~/inversify/lib/resolution/resolver.js","webpack:///./~/inversify/lib/syntax/binding_in_syntax.js","webpack:///./~/inversify/lib/syntax/binding_in_when_on_syntax.js","webpack:///./~/inversify/lib/syntax/binding_to_syntax.js","webpack:///./~/inversify/lib/utils/binding_utils.js","webpack:///./~/process/browser.js","webpack:///./~/reconnecting-websocket/dist/index.js","webpack:///./~/reflect-metadata/Reflect.js","webpack:///./~/snabbdom-virtualize/lib/strings.js","webpack:///./~/snabbdom-virtualize/lib/utils.js","webpack:///./~/snabbdom-virtualize/strings.js","webpack:///./~/snabbdom/h.js","webpack:///./~/snabbdom/is.js","webpack:///./~/sprotty/lib/base/commands/command-stack-options.js","webpack:///./~/sprotty/lib/base/di.config.js","webpack:///./~/sprotty/lib/base/views/id-decorator.js","webpack:///./~/sprotty/lib/base/views/viewer-options.js","webpack:///./~/sprotty/lib/features/bounds/di.config.js","webpack:///./~/sprotty/lib/features/bounds/hidden-bounds-updater.js","webpack:///./~/sprotty/lib/features/bounds/resize.js","webpack:///./~/sprotty/lib/features/button/di.config.js","webpack:///./~/sprotty/lib/features/expand/di.config.js","webpack:///./~/sprotty/lib/features/expand/views.js","webpack:///./~/sprotty/lib/features/export/di.config.js","webpack:///./~/sprotty/lib/features/fade/di.config.js","webpack:///./~/sprotty/lib/features/hover/di.config.js","webpack:///./~/sprotty/lib/features/hover/initializer.js","webpack:///./~/sprotty/lib/features/hover/popup-position-updater.js","webpack:///./~/sprotty/lib/features/move/di.config.js","webpack:///./~/sprotty/lib/features/open/di.config.js","webpack:///./~/sprotty/lib/features/select/di.config.js","webpack:///./~/sprotty/lib/features/undo-redo/di.config.js","webpack:///./~/sprotty/lib/features/viewport/di.config.js","webpack:///./~/sprotty/lib/graph/sgraph-factory.js","webpack:///./~/sprotty/lib/lib/generic-views.js","webpack:///./~/sprotty/lib/lib/html-views.js","webpack:///./~/sprotty/lib/lib/model.js","webpack:///./~/sprotty/lib/lib/svg-views.js","webpack:///./~/sprotty/lib/model-source/di.config.js","webpack:///./~/sprotty/lib/model-source/local-model-source.js","webpack:///./~/sprotty/lib/model-source/logging.js","webpack:///./~/sprotty/lib/model-source/websocket.js","webpack:///./~/sprotty/lib/utils/color.js","webpack:///./~/sprotty/~/snabbdom/es/htmldomapi.js","webpack:///./~/sprotty/~/snabbdom/es/thunk.js","webpack:///./~/sprotty/~/snabbdom/modules/attributes.js","webpack:///./~/sprotty/~/snabbdom/modules/class.js","webpack:///./~/sprotty/~/snabbdom/modules/eventlisteners.js","webpack:///./~/sprotty/~/snabbdom/modules/props.js","webpack:///./~/sprotty/~/snabbdom/modules/style.js","webpack:///./src/actions/execute-container-creation-tool-action.ts","webpack:///./src/actions/execute-node-creation-tool-action.ts","webpack:///./src/actions/execute-tool-action.ts","webpack:///./src/actions/request-layers-action.ts","webpack:///./src/actions/request-tools-action.ts","webpack:///./src/actions/set-layers-action.ts","webpack:///./src/actions/set-tools-action.ts","webpack:///./src/actions/toogle-layers-action.ts","webpack:///./src/app/standalone.ts","webpack:///./src/app/tools-utils.ts","webpack:///./src/di.config.ts","webpack:///./src/popup.ts","webpack:///./src/sirius-graph-factory.ts","webpack:///./src/sirius-websocket-diagram-server.ts","webpack:///./src/views/sirius-edge-view.tsx","webpack:///./src/views/sirius-free-form-flat-container-node-view.tsx","webpack:///./src/views/sirius-label-view.tsx","webpack:///./src/views/sirius-list-flat-container-node-view.tsx","webpack:///./src/views/sirius-square-border-node-view.tsx","webpack:///./src/views/sirius-square-node-view.tsx","webpack:///./src/views/sirius-svg-border-node-view.tsx","webpack:///./src/views/sirius-svg-node-view.tsx","webpack:///./~/void-elements/index.js","webpack:///(webpack)/buildin/amd-define.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/global.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7CA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;AC5CA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,0BAA0B,EAAE;AAChF;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC5MA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,0DAA0D;AAC3D;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,oC;;;;;;AC5KA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;ACLzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;AC1HA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,6CAA6C,EAAE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;ACnJA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;AChIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,uBAAuB;AACzG,iEAAiE;AACjE,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;AClBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;ACnHA;AACA;AACA;;;;;;;;ACFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACtHA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6DAA6D;AAC1F;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AClBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,kCAAkC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,iDAAiD,EAAE;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD,0C;;;;;;;AC/FA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;AC1EA;AACA;AACA;AACA;AACA;;;;;;;ACJA,6BAA6B;AAC7B,uCAAuC;;;;;;;;ACDvC;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;ACHD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;ACNA,uBAAuB;AACvB;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E,uCAAuC;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,+DAA+D,EAAE;AACvG,qCAAqC,oBAAoB,EAAE;AAC3D;AACA;AACA,iDAAiD,uBAAuB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,uEAAuE,0CAA0C,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,wCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACnNA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACbA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6DAA6D,EAAE;AACrG,qCAAqC,oBAAoB,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;ACjFA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,mDAAmD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;AC1DA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oCAAoC,iBAAiB;AACrD,8BAA8B,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AC7FA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qDAAqD,qCAAqC,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC/GA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACjBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;AChGA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;ACNA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;;;;;ACLA;AACA;AACA;AACA;AACA;;;;;;;;ACJA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtGA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,wBAAwB,EAAE;AACjF;AACA,4CAA4C,wBAAwB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mCAAmC,EAAE;AAC5E,0CAA0C,mCAAmC,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kD;;;;;;;ACzDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACjGA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,0CAA0C,uCAAuC,EAAE;AACnF;AACA;AACA;AACA,0CAA0C,uCAAuC,EAAE;AACnF;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA,+C;;;;;;;ACvHA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACbA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,6EAA6E;AAC9H,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,iCAAiC;AAC3G;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,6EAA6E;AAC1H;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;AChSA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,oC;;;;;;ACpHA;AACA;AACA;AACA;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;AC3BA;;;;;;;ACAA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,uCAAuC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,6C;;;;;;;AClHA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AClEA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACbA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;AClBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,0DAA0D,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AC3OA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;;;;;ACnCA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACJA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,YAAY;AACjB,GAAG;AACH;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA,mEAAmE,gBAAgB;AACnF;AACA;AACA,GAAG,4CAA4C,gCAAgC;AAC/E;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;ACrEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpDA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;ACxCA,cAAc;;;;;;;ACAd;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA,kDAAkD;AAClD;AACA,uCAAuC;AACvC;;;;;;;ACLA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;ACTA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B,cAAc;AACd;AACA,CAAC;AACD;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,UAAU;AACV,CAAC;;;;;;;;AChBD;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACbA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACjGA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,+BAA+B,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8CAA8C,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wBAAwB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,6C;;;;;;;AC3GA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,kC;;;;;;;ACZA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;AChEA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;AC7CA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,2BAA2B,EAAE;AACzF;AACA;AACA,CAAC;AACD;AACA,2C;;;;;;;ACxHA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACxHA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,oDAAoD,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;AChDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;ACjCA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACbA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,4BAA4B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AC3EA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AC7CA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACrDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;ACpGA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACxRA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,+DAA+D,2DAA2D,EAAE;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACpNA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;ACnEA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACnJA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AClEA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,uDAAuD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,kCAAkC,yBAAyB;AAC3D,qCAAqC,gBAAgB,eAAe;AACpE;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;ACrIA;AACA;;;;;;;ACDA;AACA,qEAAsE,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;ACrBA;AACA,UAAU;AACV;;;;;;;;ACFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACNA;;;;;;;ACAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC,GAAG;AACH;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,0DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,GAAG,yBAAyB;AAC7G;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AAAA;AACH;;;;;;;;AC3LA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACpBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,yCAAyC,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACzFA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC5DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;;;;;;;ACvCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,iC;;;;;;;ACTA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;;ACtBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,0DAA0D,mBAAmB,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,sCAAsC,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;AClWA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,6BAA6B,gDAAgD,EAAE;AAC/E;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;ACpFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,yCAAyC,8BAA8B;AACvE;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,8DAA8D;AACxG;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AC9EA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACrFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,uCAAuC,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,mCAAmC,EAAE;AAC3F;AACA;AACA,sDAAsD,+BAA+B,EAAE;AACvF;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,uCAAuC;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B;AAC7E;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,4BAA4B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,gDAAgD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACzOA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,4C;;;;;;;ACpCA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;ACzFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;AC/EA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;ACzFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACvHA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACbA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,0BAA0B;AACvE,+CAA+C,4BAA4B;AAC3E;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,0DAA0D,EAAE;AAChH,iDAAiD,mBAAmB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF,gCAAgC,EAAE,oBAAoB,aAAa,EAAE;AACxJ;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AClSA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;AC7EA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,gC;;;;;;;AClDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,8BAA8B;AACvE,oCAAoC,uBAAuB;AAC3D;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,sBAAsB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mCAAmC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA,0CAA0C,sCAAsC;AAChF;AACA;AACA;AACA;AACA;AACA,0CAA0C,sDAAsD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,+CAA+C,8BAA8B;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,+CAA+C,KAAK,GAAG;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;AChKA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,kBAAkB;AAClB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,2CAA2C,mBAAmB,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;AC/MA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,gCAAgC,EAAE;AACzF;AACA;AACA,iDAAiD,gBAAgB;AACjE;AACA;AACA;AACA;AACA;AACA,+CAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;;;;ACtCgB;AAChB;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;;;;;;;;;ACvDA;AACA;AACA;AACA;AACA,8B;;;;;;;;;;;;;;;;ACJA;AACA;AACA;AACA,qBAAqB,wBAAwB;AAC7C,mBAAmB,wBAAwB;AAC3C,qGAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACY;AACI;AAChB;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yIAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA,2BAA2B,2BAA2B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,+BAA+B;AAClD;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA,oC;;;;;;;;AC/SA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,iC;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AACA;AACA;;;;;;;;;;ACFA;;;;;;;;;iFASiF;AACjF,yBAA0B;AAC1B,4CAA+D;AAE/D,oCAAuB,EAAE,CAAC;;;;;;;ACb1B;AACA;AACA;AACA,6FAAwF;AACxF;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;AC/IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,mCAAmC,gCAAgC,aAAa;AACvF,8BAA8B,mCAAmC,aAAa;AAC9E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA,wDAAwD,aAAa,EAAE,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;;;;;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAkF,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,sBAAsB,EAAE;AAC/D;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;ACnEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;ACZA;AACA;AACA,YAAY;AACZ,GAAG;AACH,YAAY;AACZ;AACA;;;;;;;ACNA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM;AACd;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7BA;AACA;;;;;;;ACDA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB;AAChF,kFAAkF,wBAAwB;AAC1G;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,mEAAmE;AAC5F,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB,kCAAkC;AACrD,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,uCAAuC;AACtD;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,yBAAyB,KAAK;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB,wBAAwB;AACxB,gBAAgB;AAChB,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAA0D,oBAAoB;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;AChRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,2BAA2B;AAClD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACtED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACND;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACtBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;ACND;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;ACjBD;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB,sBAAsB,uBAAuB,WAAW,IAAI;AAC5D,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,KAAK;AACL;AACA,sBAAsB,mCAAmC;AACzD,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gCAAgC;AAChG;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0DAA0D,kBAAkB;;AAE5E;AACA;AACA;AACA,oBAAoB,uBAAuB;;AAE3C,oDAAoD,6BAA6B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,eAAe,EAAE;AAC3C,0BAA0B,gBAAgB;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO,QAAQ,iCAAiC;AACpG,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzOA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACtGA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACdA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACfA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,aAAa;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACnCA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA,oDAAoD;AACpD;AACA,UAAU;AACV;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,gCAAgC,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,qEAAqE,mBAAmB,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC1PA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACVA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACbA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,0BAA0B,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,iCAAiC,EAAE;AAC3E,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;;;;;;;;AC9EA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AChBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACTA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnJA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,qBAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;AC1BA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/HA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACvBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAmG,sDAAsD,EAAE;AAC3J;AACA;AACA,8FAA8F,iDAAiD,EAAE;AACjJ;AACA;AACA,+FAA+F,kDAAkD,EAAE;AACnJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjGA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACtBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;ACvEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,iDAAiD;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,uCAAuC,EAAE;AACzF;AACA;AACA,CAAC;AACD;;;;;;;;ACxEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA,+CAA+C,6CAA6C,EAAE;AAC9F;AACA;AACA;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;AACH;AACA;AACA,0BAA0B,kBAAkB,EAAE;AAC9C,+BAA+B,mBAAmB,EAAE;AACpD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oCAAoC,EAAE;AACtE,iCAAiC,mCAAmC,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,KAAK,gBAAgB;AACrB;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK,KAAK;AACV;AACA,4BAA4B,2BAA2B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,aAAa;AAC3C,gCAAgC,aAAa;AAC7C,mCAAmC;AACnC,gCAAgC,wIAAwI;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;;;;;;ACtNA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,mDAAmD;AAC3G;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE,6BAA6B,gBAAgB,kBAAkB;AAC/D;AACA;AACA;AACA;AACA,+BAA+B,4CAA4C;AAC3E;AACA,mCAAmC,wBAAwB,kBAAkB,EAAE;AAC/E,mCAAmC,yBAAyB,EAAE,EAAE;AAChE;AACA,uCAAuC,8BAA8B;AACrE,uCAAuC,mBAAmB,EAAE;AAC5D;AACA,uCAAuC,qDAAqD;AAC5F,uCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAuG;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,2CAA2C;AAC3C,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,uBAAuB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,0BAA0B;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,aAAa;AAChF,qEAAqE,aAAa;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0BAA0B,EAAE;AAClE;AACA;AACA,iBAAiB;AACjB,oDAAoD,+CAA+C;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,UAAU;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,0DAA0D;AAC5G,oDAAoD,4DAA4D;AAChH,qDAAqD,4DAA4D;AACjH,2DAA2D,uBAAuB;AAClF,6DAA6D,uBAAuB;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,uBAAuB,EAAE;AAC/D;AACA;AACA,iBAAiB;AACjB,sDAAsD,6BAA6B;AACnF,sDAAsD,0CAA0C;AAChG,yDAAyD,gCAAgC;AACzF,mDAAmD,mBAAmB;AACtE,kDAAkD,yBAAyB;AAC3E,oDAAoD,2BAA2B;AAC/E,qDAAqD,4BAA4B;AACjF,2DAA2D,oBAAoB;AAC/E,6DAA6D,oBAAoB;AACjF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,0BAA0B;AACtF;AACA;AACA;AACA;AACA,+BAA+B,UAAU;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC,0BAA0B;AAC3B,mC;;;;;;;;AC3mCA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,0EAA0E;;;AAG1E;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,8BAA8B;AACrD,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,C;;;;;;;ACzIA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,C;;;;;;AC3CA;;;;;;;;ACAA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,uBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6B;;;;;;;AC1DA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,8B;;;;;;;ACPA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;;;;;;;ACjBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD;AACA,qC;;;;;;;ACtIA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,wC;;;;;;;ACjDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;ACjBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACrBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iD;;;;;;;ACxIA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AACD;AACA,kC;;;;;;;ACpDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACdA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACfA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,2BAA2B,KAAK,sBAAsB,eAAe,GAAG;AAC/G,uCAAuC,gDAAgD;AACvF,uCAAuC,UAAU;AACjD;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;AC3BA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACnBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACfA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;AACD;AACA,qC;;;;;;;AC7BA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,6EAA6E;AACjI;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,uC;;;;;;;ACnDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,kD;;;;;;;ACvDA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AClBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACfA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;AClBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACfA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACvBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,0C;;;;;;;ACnFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,yC;;;;;;;ACrCA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,sC;;;;;;;ACzBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;ACzFA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,uBAAuB;AAC3D;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,wIAAwI;AACjL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,uKAAuK;AAC9M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,qC;;;;;;;AC7IA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL,CAAC;AACD;AACA,qC;;;;;;;ACzBA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,kBAAkB;AAClB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mBAAmB,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,8C;;;;;;;ACvRA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,oCAAoC;AACvE;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,4MAA4M,0BAA0B,EAAE;AACxO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,mC;;;;;;;AC1GA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA,UAAU,gBAAgB,sCAAsC,iBAAiB,EAAE;AACnF,yBAAyB,uDAAuD;AAChF;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,qC;;;;;;;ACjEA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;AACA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,iC;;;;;;;AChCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;;;;AC/DY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,iCAAiC;AAChD;AACA;AACA,KAAK;AACL;AACA;AACA,iC;;;;;;;AC5CA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,sC;;;;;;;ACtDA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,iC;;;;;;;ACxBA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0C;;;;;;;AC9FA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,iC;;;;;;;ACzBA;AACA,8CAA8C,cAAc;AAC5D;AACA,+BAA+B,kBAAkB,SAAS,EAAE,EAAE;AAC9D;AACA,2BAA2B,iBAAiB,EAAE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;;;ACzEA;;;;GAIG;AACH;IAsBE;;;OAGG;IACH,4CAAY,QAAgB;QAd5B;;WAEG;QACa,SAAI,GAAG,kCAAkC,CAAC,IAAI,CAAC;QAY7D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IA1BD;;OAEG;IACoB,uCAAI,GAAG,8BAA8B,CAAC;IAE7D;;OAEG;IACoB,uCAAI,GAAG,kCAAkC,CAAC;IAoBnE,yCAAC;CAAA;AA9BY,gFAAkC;;;;;;;;;;ACL/C;;;;GAIG;AACH;IAsBE;;;OAGG;IACH,uCAAY,QAAgB;QAd5B;;WAEG;QACa,SAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;QAYxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IA1BD;;OAEG;IACoB,kCAAI,GAAG,yBAAyB,CAAC;IAExD;;OAEG;IACoB,kCAAI,GAAG,6BAA6B,CAAC;IAoB9D,oCAAC;CAAA;AA9BY,sEAA6B;;;;;;;;;;ACL1C;;;;GAIG;AACH;IAsBE;;;OAGG;IACH,2BAAY,QAAgB;QAd5B;;WAEG;QACa,SAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QAY5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IA1BD;;OAEG;IACoB,sBAAI,GAAG,aAAa,CAAC;IAE5C;;OAEG;IACoB,sBAAI,GAAG,qBAAqB,CAAC;IAoBtD,wBAAC;CAAA;AA9BY,8CAAiB;;;;;;;;;;ACL9B;;;;GAIG;AACH;IAAA;QAOE;;WAEG;QACa,SAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;IAClD,CAAC;IATC;;OAEG;IACoB,wBAAI,GAAG,eAAe,CAAC;IAMhD,0BAAC;CAAA;AAXY,kDAAmB;;;;;;;;;;ACLhC;;;;GAIG;AACH;IAAA;QAOE;;WAEG;QACa,SAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACjD,CAAC;IATC;;OAEG;IACoB,uBAAI,GAAG,cAAc,CAAC;IAM/C,yBAAC;CAAA;AAXY,gDAAkB;;;;;;;;;;ACH/B;;;;GAIG;AACH;IAgBE;;;OAGG;IACH,yBAAY,MAAiB;QAd7B;;WAEG;QACa,SAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QAY1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IArBD;;OAEG;IACoB,oBAAI,GAAG,WAAW,CAAC;IAmB5C,sBAAC;CAAA;AAvBY,0CAAe;;;;;;;;;;ACL5B;;;;GAIG;AACH;IAgBE;;;OAGG;IACH,wBAAY,KAAe;QAd3B;;WAEG;QACa,SAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QAYzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IArBD;;OAEG;IACoB,mBAAI,GAAG,UAAU,CAAC;IAmB3C,qBAAC;CAAA;AAvBY,wCAAc;;;;;;;;;;ACP3B;;;;GAIG;AACH;IAsBE;;;;OAIG;IACH,2BAAY,SAAiB,EAAE,QAAiB;QApBhD;;WAEG;QACa,SAAI,GAAW,iBAAiB,CAAC,IAAI,CAAC;QAkBpD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IA5BD;;OAEG;IACoB,sBAAI,GAAW,aAAa,CAAC;IA0BtD,wBAAC;CAAA;AA/BY,8CAAiB;;;;;;;;;;ACjB9B;;;;;;;;;iFASiF;AACjF,oCAAyI;AACzI,uDAAuE;AACvE,sDAAqE;AACrE,mDAA+D;AAC/D,kDAA6D;AAC7D,2CAA+C;AAG/C,6CAAqH;AAErH,mBAAO,CAAC,GAAwB,CAAC,CAAC;AAMlC,oBAAoB;AACpB;IAGE,gCAAY,aAAqC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,uCAAM,GAAb,UAAc,MAAuB;QACnC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACK,sDAAqB,GAA7B,UAA8B,MAAuB;QACnD,6BAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3D,uCAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IACH,6BAAC;AAAD,CAAC;AAvBY,wDAAsB;AAwBnC,mBAAmB;AAEnB,oBAAoB;AACpB;IAIE,+BAAY,aAAqC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,sCAAM,GAAN,UAAO,MAAsB;QAC3B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEC;;;KAGC;IACK,oDAAoB,GAA5B,UAA6B,MAAsB;QACjD,IAAM,KAAK,GAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,IAAU;YACxD,MAAM,CAAC,2BAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,6BAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1D,uCAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IACH,4BAAC;AAAD,CAAC;AA3BY,sDAAqB;AA4BlC,mBAAmB;AAEnB;;;;GAIG;AACH;IACE,IAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC;IAClF,IAAM,SAAS,GAAG,2BAAe,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAA+B,WAAK,CAAC,WAAW,CAAC,CAAC;IACrF,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAwB,WAAK,CAAC,qBAAqB,CAAC,CAAC;IAChG,qBAAqB,CAAC,QAAQ,CAAC,mCAAe,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC;IAChG,qBAAqB,CAAC,QAAQ,CAAC,iCAAc,CAAC,IAAI,EAAE,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9F,gCAAgC;IAChC,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAK;QACtC,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAM,UAAU,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAM,OAAO,GAAW,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxD,IAAM,IAAI,GAAW,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,IAAM,kBAAkB,GAAW,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QAE9E,aAAa,CAAC,QAAQ,GAAG,gBAAc,OAAO,gBAAW,IAAI,0BAAqB,kBAAkB,qBAAgB,IAAI,CAAC,MAAM,EAAI,CAAC;QACpI,aAAa,CAAC,MAAM,CAAC,IAAI,yCAAkB,EAAE,CAAC,CAAC;QAC/C,aAAa,CAAC,MAAM,CAAC,IAAI,2CAAmB,EAAE,CAAC,CAAC;QAChD,aAAa,CAAC,MAAM,CAAC,IAAI,wBAAkB,CAAC;YAC1C,OAAO;YACP,IAAI;YACJ,kBAAkB;SACnB,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,0DA4BC;;;;;;;;;;AC1GD,wEAAuG;AACvG,mEAA6F;AAC7F,qDAAmE;AACnE,sDAAoE;AAKpE;;;;GAIG;AACH,uBAA8B,IAAU;IACtC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtB,KAAK,iEAA6B,CAAC,IAAI;YACrC,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC;QACR,KAAK,2EAAkC,CAAC,IAAI;YAC1C,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC;QACR,KAAK,uCAAiB,CAAC,IAAI;YACzB,SAAS,GAAG,IAAI,CAAC;YACjB,KAAK,CAAC;QACR;YACE,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,CAAC;IACV,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC;AAjBD,sCAiBC;AAED;;;;GAIG;AACH,0BAA0B,IAAU;IAClC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtB,KAAK,iEAA6B,CAAC,IAAI;YACrC,MAAM,GAAG,IAAI,iEAA6B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC;QACR,KAAK,2EAAkC,CAAC,IAAI;YAC1C,MAAM,GAAG,IAAI,2EAAkC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,KAAK,CAAC;QACR,KAAK,uCAAiB,CAAC,IAAI;YACzB,MAAM,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C;YACE,KAAK,CAAC;IACV,CAAC;IACD,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,2BAA2B,KAAY,EAAE,QAAiB;IACxD,MAAM,CAAC,IAAI,wCAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,mCAA0C,aAAqC,EAAE,KAAkB;IACjG,IAAM,kBAAkB,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IACpE,EAAE,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,cAAI;YAChB,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,IAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;YAEvC,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE5C,wDAAwD;YACxD,IAAI,WAAW,GAAG,4BAA4B,CAAC;YAC/C,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChC,WAAW,GAAG,kBAAkB,CAAC;YACnC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,WAAW,GAAG,gBAAgB,CAAC;YACjC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC9C,WAAW,GAAG,oBAAoB,CAAC;YACrC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,WAAW,GAAG,kBAAkB,CAAC;YACnC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxC,WAAW,GAAG,iBAAiB,CAAC;YAClC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,WAAW,GAAG,iBAAiB,CAAC;YAClC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtC,WAAW,GAAG,gCAAgC,CAAC;YACjD,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrC,WAAW,GAAG,gBAAgB,CAAC;YACjC,CAAC;YAED,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE1B,IAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;YAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAE1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAC,KAAK;gBACrC,IAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC1C,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC;oBACxB,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AA/CD,8DA+CC;AAED;;;;GAIG;AACH,mCAA0C,aAAqC,EAAE,MAAoB;IACnG,IAAM,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACtE,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAY;YAC1B,IAAM,OAAO,GAAG,WAAS,KAAK,CAAC,EAAI,CAAC;YACpC,IAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5D,qBAAqB,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAErD,IAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1D,iBAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,iBAAiB,CAAC,WAAW,GAAG,CAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,OAAG,CAAC;YAC7D,qBAAqB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAErD,IAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7D,oBAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnB,oBAAoB,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;YACD,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAK;gBAClD,IAAM,WAAW,GAAG,KAAK,CAAC,MAA0B,CAAC;gBACrD,IAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClE,EAAE,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC;oBACzB,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,qBAAqB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YACxD,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AA9BD,8DA8BC;AAED;;;GAGG;AACH,yBAAgC,OAA2B;IACzD,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;QACrB,GAAG,CAAC,CAAC,IAAM,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACvD,IAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAPD,0CAOC;;;;;;;;;;AChLD;;;;;;;;;iFASiF;AACjF,yCAAuD;AAEvD,oCAmBqB;AAErB,kDAA0D;AAC1D,2EAAwG;AACxG,sEAA+F;AAC/F,gEAAoF;AACpF,6DAA8E;AAC9E,mDAA4D;AAC5D,yDAAuE;AACvE,sDAAiE;AAEjE,sDAA4D;AAE5D,uCAAkD;AAClD,iEAAiF;AAEjF,IAAM,qBAAqB,GAAG,IAAI,2BAAe,CAAC,UAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAC9E,MAAM,CAAC,WAAK,CAAC,OAAO,CAAC;SAClB,EAAE,CAAC,mBAAa,CAAC;SACjB,gBAAgB,EAAE,CAAC;IACtB,MAAM,CAAC,WAAK,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,cAAQ,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,CAAC,WAAK,CAAC,aAAa,CAAC;SACxB,EAAE,CAAC,yCAAkB,CAAC;SACtB,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,WAAK,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,+BAAuB,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACU,uBAAe,GAAG,UAAC,WAAmB;IACjD,IAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;IAClC,SAAS,CAAC,IAAI,CACZ,mBAAa,EACb,kBAAY,EACZ,gBAAU,EACV,kBAAY,EACZ,oBAAc,EACd,oBAAc,EACd,iBAAW,EACX,kBAAY,EACZ,qBAAqB,CACtB,CAAC;IAEF,SAAS;SACN,IAAI,CAAC,WAAK,CAAC,WAAW,CAAC;SACvB,EAAE,CAAC,8DAA4B,CAAC;SAChC,gBAAgB,EAAE,CAAC;IAEtB,2BAAqB,CAAC,SAAS,EAAE;QAC/B,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,WAAW,GAAG,SAAS;KACnC,CAAC,CAAC;IAEH,IAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAe,WAAK,CAAC,YAAY,CAAC,CAAC;IACrE,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAU,CAAC,CAAC;IAE3C,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,8CAAoB,CAAC,CAAC;IAC3D,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,wCAAiB,CAAC,CAAC;IACrD,YAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,2DAA0B,CAAC,CAAC;IACjE,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,qDAAuB,CAAC,CAAC;IAC7D,YAAY,CAAC,QAAQ,CAAC,4BAA4B,EAAE,+EAAmC,CAAC,CAAC;IACzF,YAAY,CAAC,QAAQ,CAAC,wBAAwB,EAAE,sEAA+B,CAAC,CAAC;IACjF,YAAY,CAAC,QAAQ,CAAC,8BAA8B,EAAE,sBAAgB,CAAC,CAAC;IACxE,YAAY,CAAC,QAAQ,CAAC,6BAA6B,EAAE,sBAAgB,CAAC,CAAC;IAEvE,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,iCAAc,CAAC,CAAC;IAEvD,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mCAAe,CAAC,CAAC;IAC5D,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,mCAAe,CAAC,CAAC;IAC9D,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mCAAe,CAAC,CAAC;IAC7D,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,mCAAe,CAAC,CAAC;IAC7D,YAAY,CAAC,QAAQ,CAAC,sBAAsB,EAAE,mCAAe,CAAC,CAAC;IAC/D,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,mCAAe,CAAC,CAAC;IAE9D,YAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAU,CAAC,CAAC;IAChD,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,sBAAgB,CAAC,CAAC;IACrD,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAY,CAAC,CAAC;IAC5C,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAe,CAAC,CAAC;IAEvD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC,CAAC;;;;;;;;;;AClGF;;;;GAIG;AACU,+BAAuB,GAAG,UAAC,OAAgC,EAAE,OAA6B;IACrG,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC;YACL,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,OAAO;YACX,QAAQ,EAAE;gBACmB;oBACzB,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,aAAa;oBACjB,IAAI,EAAE,uCAAkC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAQ;iBACvF;gBAC0B;oBACzB,IAAI,EAAE,cAAc;oBACpB,EAAE,EAAE,YAAY;oBAChB,IAAI,EAAE,2CAA2C;iBAClD;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;AC1CF;;;;;;;;;iFASiF;AACjF,oCAYqB;AAErB;;;;GAIG;AACH;IAAwC,sCAAa;IAArD;;IA4CA,CAAC;IA3CC;;;;OAIG;IACI,0CAAa,GAApB,UAAqB,MAA2B,EAAE,MAAuB;QACvE;;iBAES;QACT,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,wBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,iBAAM,aAAa,YAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,uCAAU,GAAjB,UAAkB,MAAwB;QACxC,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,cAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,iBAAM,UAAU,YAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,6CAAgB,GAAvB,UAAwB,MAAwB;QAC9C,MAAM,CAAC,kBAAY,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;IACzC,CAAC;IAED;;;OAGG;IACI,gDAAmB,GAA1B,UAA2B,MAA2B;QACpD,MAAM,CAAC,kBAAY,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC;IACjD,CAAC;IACH,yBAAC;AAAD,CAAC,CA5CuC,mBAAa,GA4CpD;AA5CY,gDAAkB;;;;;;;;;;;;;;;;;;;;AC7B/B;;;;;;;;;iFASiF;AACjF,oCAAoF;AAGpF;;;;GAIG;AACH;IAAkD,gDAAsB;IAAxE;;IAqBA,CAAC;IAnBC;;;OAGG;IACI,iDAAU,GAAjB,UAAkB,QAA+B;QAC/C,iBAAM,UAAU,YAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,6CAAM,GAAb,UAAc,MAAc;QAC1B,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACpB;gBACE,iBAAM,MAAM,YAAC,MAAM,CAAC,CAAC;gBACvB,KAAK,CAAC;QACR,CAAC;IACH,CAAC;IACH,mCAAC;AAAD,CAAC,CArBiD,4BAAsB,GAqBvE;AArBY,oEAA4B;;;;;;;;;;;;;;;;;;;;AClBzC;;;;;;;;;iFASiF;AACjF,oCAOqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAAoC,kCAAgB;IAApD;;IAwCA,CAAC;IAvCC;;;;;OAKG;IACO,mCAAU,GAApB,UAAqB,IAAW,EAAE,QAAiB,EAAE,OAAyB;QAC5E,IAAM,KAAK,GAAY,IAAa,CAAC,KAAK,CAAC;QAE3C,IAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,OAAK,UAAU,CAAC,CAAC,SAAI,UAAU,CAAC,CAAG,CAAC;QAC/C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,QAAM,CAAC,CAAC,CAAC,SAAI,CAAC,CAAC,CAAG,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,kDAA0B,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACO,0CAAiB,GAA3B,UAA4B,IAAW,EAAE,QAAiB,EAAE,OAAyB;QACnF,IAAM,KAAK,GAAY,IAAY,CAAC,KAAK,CAAC;QAC1C,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;QAEtC,IAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,IAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC;YACL,0CAAkB,IAAI,iBACH,IAAI,EAAE,CAAC,EAAC,sBAAsB,EAC3C,SAAS,EAAE,YAAU,eAAS,CAAC,WAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAI,EAAE,CAAC,CAAC,SAAI,EAAE,CAAC,CAAC,oBAAe,EAAE,CAAC,CAAC,SAAI,EAAE,CAAC,CAAC,MAAG,EAC3F,KAAK,EAAE,WAAW,GAAI;SAC7B,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,CAxCmC,sBAAgB,GAwCnD;AAxCY,wCAAc;;;;;;;;;;;;;;;;;;;;AC7B3B;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAAyD,uDAAmB;IAA5E;;IAsBA,CAAC;IArBC;;;;OAIG;IACI,oDAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,KAAK,GAAY,IAAa,CAAC,KAAK,CAAC;QAE3C,MAAM,CAAC,CACL;YACE,8CAAsB,IAAI,CAAC,QAAQ,qBACZ,IAAI,CAAC,aAAa,EACnC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI;YACjC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3B,CACL,CAAC;IACJ,CAAC;IACH,0CAAC;AAAD,CAAC,CAtBwD,yBAAmB,GAsB3E;AAtBY,kFAAmC;;;;;;;;;;;;;;;;;;;;AC1BhD;;;;;;;;;iFASiF;AACjF,oCAMqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAAqC,mCAAU;IAA/C;;IAiBA,CAAC;IAhBC;;;;OAIG;IACI,gCAAM,GAAb,UAAc,KAAa,EAAE,OAAyB;QACpD,IAAM,KAAK,GAAY,KAAa,CAAC,KAAK,CAAC;QAC3C,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAM,KAAK,GAAG,mDAA2B,IAAI,EAAE,KAAK,EAAE,WAAW,IAAG,KAAK,CAAC,IAAI,CAAQ,CAAC;QACvF,IAAM,OAAO,GAAG,gBAAU,CAAC,KAAK,CAAC,CAAC;QAClC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACZ,aAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACH,sBAAC;AAAD,CAAC,CAjBoC,gBAAU,GAiB9C;AAjBY,0CAAe;;;;;;;;;;;;;;;;;;;;AC5B5B;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAAqD,mDAAmB;IAAxE;;IAsBA,CAAC;IArBC;;;;OAIG;IACI,gDAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,KAAK,GAAY,IAAa,CAAC,KAAK,CAAC;QAE3C,MAAM,CAAC,CACL;YACE,8CAAsB,IAAI,CAAC,QAAQ,qBACZ,IAAI,CAAC,aAAa,EACnC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI;YACjC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3B,CACL,CAAC;IACJ,CAAC;IACH,sCAAC;AAAD,CAAC,CAtBoD,yBAAmB,GAsBvE;AAtBY,0EAA+B;;;;;;;;;;;;;;;;;;;;AC1B5C;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAAgD,8CAAmB;IAAnE;;IAqBA,CAAC;IApBC;;;;OAIG;IACI,2CAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,KAAK,GAAY,IAAa,CAAC,KAAK,CAAC;QAC3C,MAAM,CAAC,CACL;YACE,8CACsB,IAAI,CAAC,QAAQ,qBACZ,IAAI,CAAC,aAAa,EACnC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EACX,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI;YACjC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3B,CACL,CAAC;IACJ,CAAC;IACH,iCAAC;AAAD,CAAC,CArB+C,yBAAmB,GAqBlE;AArBY,gEAA0B;;;;;;;;;;;;;;;;;;;;AC1BvC;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAA0C,wCAAmB;IAA7D;;IAsBA,CAAC;IArBC;;;;OAIG;IACI,qCAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,KAAK,GAAY,IAAa,CAAC,KAAK,CAAC;QAE3C,MAAM,CAAC,CACL;YACE,8CAAsB,IAAI,CAAC,QAAQ,qBACZ,IAAI,CAAC,aAAa,EACnC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACV,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI;YACjC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3B,CACL,CAAC;IACJ,CAAC;IACH,2BAAC;AAAD,CAAC,CAtByC,yBAAmB,GAsB5D;AAtBY,oDAAoB;;;;;;;;;;;;;;;;;;;;AC1BjC;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;;;GAIG;AACH;IAA6C,2CAAmB;IAAhE;;IAcA,CAAC;IAbC;;;;OAIG;IACI,wCAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,GAAG,GAAI,IAAY,CAAC,GAAG,CAAC;QAC9B,MAAM,CAAC,CACL;YACE,6BAAO,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,IAAI,EAAE,GAAG,GAAG,CACpD,CACL,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,CAd4C,yBAAmB,GAc/D;AAdY,0DAAuB;;;;;;;;;;;;;;;;;;;;AC1BpC;;;;;;;;;iFASiF;AACjF,oCAIqB;AAGrB,sCAAyC;AAEzC,IAAM,GAAG,GAAG,EAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,EAAC,CAAC;AAE1C;;GAEG;AACH;IAAuC,qCAAmB;IAA1D;;IAeA,CAAC;IAdC;;;;OAIG;IACI,kCAAM,GAAb,UAAc,IAAW,EAAE,OAAyB;QAClD,IAAM,OAAO,GAAI,IAAY,CAAC,OAAO,CAAC;QACtC,MAAM,CAAC,CACL;YACE,6BAAO,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,IAAI,EAAE,4BAA0B,OAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAU;YAC5F,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAC3B,CACL,CAAC;IACJ,CAAC;IACH,wBAAC;AAAD,CAAC,CAfsC,yBAAmB,GAezD;AAfY,8CAAiB;;;;;;;ACxB9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;;;;;;;ACFA;AACA;;;;;;;;ACDA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 310);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap de617373a0fa5acf5972","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar keys = require(\"./constants/metadata_keys\");\nexports.METADATA_KEY = keys;\nvar container_1 = require(\"./container/container\");\nexports.Container = container_1.Container;\nvar literal_types_1 = require(\"./constants/literal_types\");\nexports.BindingScopeEnum = literal_types_1.BindingScopeEnum;\nexports.BindingTypeEnum = literal_types_1.BindingTypeEnum;\nexports.TargetTypeEnum = literal_types_1.TargetTypeEnum;\nvar container_module_1 = require(\"./container/container_module\");\nexports.ContainerModule = container_module_1.ContainerModule;\nvar injectable_1 = require(\"./annotation/injectable\");\nexports.injectable = injectable_1.injectable;\nvar tagged_1 = require(\"./annotation/tagged\");\nexports.tagged = tagged_1.tagged;\nvar named_1 = require(\"./annotation/named\");\nexports.named = named_1.named;\nvar inject_1 = require(\"./annotation/inject\");\nexports.inject = inject_1.inject;\nexports.LazyServiceIdentifer = inject_1.LazyServiceIdentifer;\nvar optional_1 = require(\"./annotation/optional\");\nexports.optional = optional_1.optional;\nvar unmanaged_1 = require(\"./annotation/unmanaged\");\nexports.unmanaged = unmanaged_1.unmanaged;\nvar multi_inject_1 = require(\"./annotation/multi_inject\");\nexports.multiInject = multi_inject_1.multiInject;\nvar target_name_1 = require(\"./annotation/target_name\");\nexports.targetName = target_name_1.targetName;\nvar post_construct_1 = require(\"./annotation/post_construct\");\nexports.postConstruct = post_construct_1.postConstruct;\nvar metadata_reader_1 = require(\"./planning/metadata_reader\");\nexports.MetadataReader = metadata_reader_1.MetadataReader;\nvar guid_1 = require(\"./utils/guid\");\nexports.guid = guid_1.guid;\nvar decorator_utils_1 = require(\"./annotation/decorator_utils\");\nexports.decorate = decorator_utils_1.decorate;\nvar constraint_helpers_1 = require(\"./syntax/constraint_helpers\");\nexports.traverseAncerstors = constraint_helpers_1.traverseAncerstors;\nexports.taggedConstraint = constraint_helpers_1.taggedConstraint;\nexports.namedConstraint = constraint_helpers_1.namedConstraint;\nexports.typeConstraint = constraint_helpers_1.typeConstraint;\nvar serialization_1 = require(\"./utils/serialization\");\nexports.getServiceIdentifierAsString = serialization_1.getServiceIdentifierAsString;\nvar binding_utils_1 = require(\"./utils/binding_utils\");\nexports.multiBindToService = binding_utils_1.multiBindToService;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/inversify.js\n// module id = 0\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TYPES = {\n IActionDispatcher: Symbol('IActionDispatcher'),\n IActionDispatcherProvider: Symbol('IActionDispatcherProvider'),\n IActionHandlerInitializer: Symbol('IActionHandlerInitializer'),\n ActionHandlerRegistry: Symbol('ActionHandlerRegistry'),\n AnimationFrameSyncer: Symbol('AnimationFrameSyncer'),\n CommandStackOptions: Symbol('CommandStackOptions'),\n IButtonHandler: Symbol('IButtonHandler'),\n ICommand: Symbol('ICommand'),\n ICommandStack: Symbol('ICommandStack'),\n ICommandStackProvider: Symbol('ICommandStackProvider'),\n DOMHelper: Symbol('DOMHelper'),\n HiddenVNodeDecorator: Symbol('HiddenVNodeDecorator'),\n HoverState: Symbol('HoverState'),\n KeyListener: Symbol('KeyListener'),\n Layouter: Symbol('Layouter'),\n LayoutRegistry: Symbol('LayoutRegistry'),\n ILogger: Symbol('ILogger'),\n LogLevel: Symbol('LogLevel'),\n IModelFactory: Symbol('IModelFactory'),\n ModelRendererFactory: Symbol('ModelRendererFactory'),\n ModelSource: Symbol('ModelSource'),\n ModelSourceProvider: Symbol('ModelSourceProvider'),\n MouseListener: Symbol('MouseListener'),\n PopupModelFactory: Symbol('PopupModelFactory'),\n PopupMouseListener: Symbol('PopupMouseListener'),\n PopupVNodeDecorator: Symbol('PopupVNodeDecorator'),\n SModelStorage: Symbol('SModelStorage'),\n StateAwareModelProvider: Symbol('StateAwareModelProvider'),\n SvgExporter: Symbol('SvgExporter'),\n IViewer: Symbol('IViewer'),\n ViewerOptions: Symbol('ViewerOptions'),\n IViewerProvider: Symbol('IViewerProvider'),\n ViewRegistry: Symbol('ViewRegistry'),\n IVNodeDecorator: Symbol('IVNodeDecorator')\n};\n//# sourceMappingURL=types.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/types.js\n// module id = 1\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\n/**\n * Base class for all elements of the diagram model.\n * Each model element must have a unique ID and a type that is used to look up its view.\n */\nvar SModelElement = /** @class */ (function () {\n function SModelElement() {\n }\n Object.defineProperty(SModelElement.prototype, \"root\", {\n get: function () {\n var current = this;\n while (current) {\n if (current instanceof SModelRoot)\n return current;\n else if (current instanceof SChildElement)\n current = current.parent;\n else\n current = undefined;\n }\n throw new Error(\"Element has no root\");\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SModelElement.prototype, \"index\", {\n get: function () {\n return this.root.index;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * A feature is a symbol identifying some functionality that can be enabled or disabled for\n * a model element. The base implementation always returns false, so it disables all features.\n */\n SModelElement.prototype.hasFeature = function (feature) {\n return false;\n };\n return SModelElement;\n}());\nexports.SModelElement = SModelElement;\n/**\n * A parent element may contain child elements, thus the diagram model forms a tree.\n */\nvar SParentElement = /** @class */ (function (_super) {\n __extends(SParentElement, _super);\n function SParentElement() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.children = [];\n return _this;\n }\n SParentElement.prototype.add = function (child, i) {\n if (i === undefined) {\n this.children.push(child);\n }\n else {\n if (i < 0 || i > this.children.length) {\n throw \"Child index out of bounds \" + i + \" (0..\" + this.children.length + \")\";\n }\n this.children.splice(i, 0, child);\n }\n child.parent = this;\n this.index.add(child);\n };\n SParentElement.prototype.remove = function (child) {\n var i = this.children.indexOf(child);\n if (i < 0) {\n throw \"No such child \" + child;\n }\n this.children.splice(i, 1);\n delete child.parent;\n this.index.remove(child);\n };\n SParentElement.prototype.move = function (child, newIndex) {\n var i = this.children.indexOf(child);\n if (i === -1) {\n throw \"No such child \" + child;\n }\n else {\n if (newIndex < 0 || newIndex > this.children.length - 1) {\n throw \"Child index out of bounds \" + i + \" (0..\" + this.children.length + \")\";\n }\n this.children.splice(i, 1);\n this.children.splice(newIndex, 0, child);\n }\n };\n /**\n * Transform the given bounds from the local coordinate system of this element to the coordinate\n * system of its parent. This function should consider any transformation that is applied to the\n * view of this element and its contents.\n * The base implementation assumes that this element does not define a local coordinate system,\n * so it leaves the bounds unchanged.\n */\n SParentElement.prototype.localToParent = function (point) {\n return geometry_1.isBounds(point) ? point : { x: point.x, y: point.y, width: -1, height: -1 };\n };\n /**\n * Transform the given bounds from the coordinate system of this element's parent to its local\n * coordinate system. This function should consider any transformation that is applied to the\n * view of this element and its contents.\n * The base implementation assumes that this element does not define a local coordinate system,\n * so it leaves the bounds unchanged.\n */\n SParentElement.prototype.parentToLocal = function (point) {\n return geometry_1.isBounds(point) ? point : { x: point.x, y: point.y, width: -1, height: -1 };\n };\n return SParentElement;\n}(SModelElement));\nexports.SParentElement = SParentElement;\n/**\n * A child element is contained in a parent element. All elements except the model root are child\n * elements. In order to keep the model class hierarchy simple, every child element is also a\n * parent element, although for many elements the array of children is empty (i.e. they are\n * leafs in the model element tree).\n */\nvar SChildElement = /** @class */ (function (_super) {\n __extends(SChildElement, _super);\n function SChildElement() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SChildElement;\n}(SParentElement));\nexports.SChildElement = SChildElement;\n/**\n * Base class for the root element of the diagram model tree.\n */\nvar SModelRoot = /** @class */ (function (_super) {\n __extends(SModelRoot, _super);\n function SModelRoot() {\n var _this = _super.call(this) || this;\n _this.canvasBounds = geometry_1.EMPTY_BOUNDS;\n // Override the index property from SModelElement, which has a getter, with a data property\n Object.defineProperty(_this, 'index', {\n value: new SModelIndex(),\n writable: false\n });\n return _this;\n }\n return SModelRoot;\n}(SParentElement));\nexports.SModelRoot = SModelRoot;\n/**\n * Used to speed up model element lookup by id.\n */\nvar SModelIndex = /** @class */ (function () {\n function SModelIndex() {\n this.id2element = new Map;\n }\n SModelIndex.prototype.add = function (element) {\n if (this.contains(element)) {\n throw new Error(\"Duplicate ID in model: \" + element.id);\n }\n this.id2element.set(element.id, element);\n if (element.children !== undefined && element.children.constructor === Array) {\n for (var _i = 0, _a = element.children; _i < _a.length; _i++) {\n var child = _a[_i];\n this.add(child);\n }\n }\n };\n SModelIndex.prototype.remove = function (element) {\n this.id2element.delete(element.id);\n if (element.children !== undefined && element.children.constructor === Array) {\n for (var _i = 0, _a = element.children; _i < _a.length; _i++) {\n var child = _a[_i];\n this.remove(child);\n }\n }\n };\n SModelIndex.prototype.contains = function (element) {\n return this.id2element.get(element.id) !== undefined;\n };\n SModelIndex.prototype.removeById = function (elementId) {\n this.id2element.delete(elementId);\n };\n SModelIndex.prototype.getById = function (id) {\n return this.id2element.get(id);\n };\n SModelIndex.prototype.all = function () {\n var all = [];\n this.id2element.forEach(function (element) { return all.push(element); });\n return all;\n };\n return SModelIndex;\n}());\nexports.SModelIndex = SModelIndex;\n//# sourceMappingURL=smodel.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/model/smodel.js\n// module id = 2\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * (x,y) coordinates of the origin.\n */\nexports.ORIGIN_POINT = Object.freeze({\n x: 0,\n y: 0\n});\n/**\n * A dimension with both width and height set to a negative value, which is considered as undefined.\n */\nexports.EMPTY_DIMENSION = Object.freeze({\n width: -1,\n height: -1\n});\n/**\n * Checks whether the given dimention is valid, i.e. the width and height are non-zero.\n * @param {Dimension} b - Dimension object\n * @returns {boolean}\n */\nfunction isValidDimension(d) {\n return d.width >= 0 && d.height >= 0;\n}\nexports.isValidDimension = isValidDimension;\nexports.EMPTY_BOUNDS = Object.freeze({\n x: 0,\n y: 0,\n width: -1,\n height: -1\n});\nfunction isBounds(element) {\n return 'x' in element\n && 'y' in element\n && 'width' in element\n && 'height' in element;\n}\nexports.isBounds = isBounds;\n/**\n * Combines the bounds of two objects into one, so that the new bounds\n * are the minimum bounds that covers both of the original bounds.\n * @param {Bounds} b0 - First bounds object\n * @param {Bounds} b1 - Second bounds object\n * @returns {Bounds} The combined bounds\n */\nfunction combine(b0, b1) {\n var minX = Math.min(b0.x, b1.x);\n var minY = Math.min(b0.y, b1.y);\n var maxX = Math.max(b0.x + (b0.width >= 0 ? b0.width : 0), b1.x + (b1.width >= 0 ? b1.width : 0));\n var maxY = Math.max(b0.y + (b0.height >= 0 ? b0.height : 0), b1.y + (b1.height >= 0 ? b1.height : 0));\n return {\n x: minX, y: minY, width: maxX - minX, height: maxY - minY\n };\n}\nexports.combine = combine;\n/**\n * Translates the given bounds.\n * @param {Bounds} b - Bounds object\n * @param {Point} p - Vector by which to translate the bounds\n * @returns {Bounds} The translated bounds\n */\nfunction translate(b, p) {\n return {\n x: b.x + p.x,\n y: b.y + p.y,\n width: b.width,\n height: b.height\n };\n}\nexports.translate = translate;\n/**\n * Returns the center point of the bounds of an object\n * @param {Bounds} b - Bounds object\n * @returns {Point} the center point\n */\nfunction center(b) {\n return {\n x: b.x + (b.width >= 0 ? 0.5 * b.width : 0),\n y: b.y + (b.height >= 0 ? 0.5 * b.height : 0)\n };\n}\nexports.center = center;\n/**\n * Checks whether the point p is included in the bounds b.\n */\nfunction includes(b, p) {\n return p.x >= b.x && p.x <= b.x + b.width && p.y >= b.y && p.y <= b.y + b.height;\n}\nexports.includes = includes;\n/**\n * Enumeration of possible directions (left, right, up, down)\n */\nvar Direction;\n(function (Direction) {\n Direction[Direction[\"left\"] = 0] = \"left\";\n Direction[Direction[\"right\"] = 1] = \"right\";\n Direction[Direction[\"up\"] = 2] = \"up\";\n Direction[Direction[\"down\"] = 3] = \"down\";\n})(Direction = exports.Direction || (exports.Direction = {}));\n/**\n * Returns the \"straight line\" distance between two points\n * @param {Point} a - First point\n * @param {Point} b - Second point\n * @returns {number} The eucledian distance\n */\nfunction euclideanDistance(a, b) {\n var dx = b.x - a.x;\n var dy = b.y - a.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\nexports.euclideanDistance = euclideanDistance;\n/**\n * Returns the distance between two points in a grid, using a\n * strictly vertical and/or horizontal path (versus straight line)\n * @param {Point} a - First point\n * @param {Point} b - Second point\n * @returns {number} The manhattan distance\n */\nfunction manhattanDistance(a, b) {\n return Math.abs(b.x - a.x) + Math.abs(b.y - a.y);\n}\nexports.manhattanDistance = manhattanDistance;\n/**\n * Returns the distance between two points in a grid, using a\n * strictly vertical and/or horizontal path (versus straight line)\n * @param {Point} a - First point\n * @param {Point} b - Second point\n * @returns {number} The manhattan distance\n */\nfunction maxDistance(a, b) {\n return Math.max(Math.abs(b.x - a.x), Math.abs(b.y - a.y));\n}\nexports.maxDistance = maxDistance;\n// range (-PI, PI]\nfunction angle(a, b) {\n return Math.atan2(b.y - a.y, b.x - a.x);\n}\nexports.angle = angle;\n/**\n * Converts from radians to degrees\n * @param {number} a - A value in radians\n * @returns {number} The converted value\n */\nfunction toDegrees(a) {\n return a * 180 / Math.PI;\n}\nexports.toDegrees = toDegrees;\n/**\n * Converts from degrees to radians\n * @param {number} a - A value in degrees\n * @returns {number} The converted value\n */\nfunction toRadians(a) {\n return a * Math.PI / 180;\n}\nexports.toRadians = toRadians;\n/**\n * Returns whether two numbers are almost equal, within a small margin (0.001)\n * @param {number} a - First number\n * @param {number} b - Second number\n * @returns {boolean} True if the two numbers are almost equal\n */\nfunction almostEquals(a, b) {\n return Math.abs(a - b) < 1e-3;\n}\nexports.almostEquals = almostEquals;\n//# sourceMappingURL=geometry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/utils/geometry.js\n// module id = 3\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks.js\n// module id = 4\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NAMED_TAG = \"named\";\nexports.NAME_TAG = \"name\";\nexports.UNMANAGED_TAG = \"unmanaged\";\nexports.OPTIONAL_TAG = \"optional\";\nexports.INJECT_TAG = \"inject\";\nexports.MULTI_INJECT_TAG = \"multi_inject\";\nexports.TAGGED = \"inversify:tagged\";\nexports.TAGGED_PROP = \"inversify:tagged_props\";\nexports.PARAM_TYPES = \"inversify:paramtypes\";\nexports.DESIGN_PARAM_TYPES = \"design:paramtypes\";\nexports.POST_CONSTRUCT = \"post_construct\";\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/constants/metadata_keys.js\n// module id = 5\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_global.js\n// module id = 6\n// module chunks = 0","\"use strict\";\r\n\r\nvar SVGNS = 'http://www.w3.org/2000/svg';\r\nvar modulesNS = ['hook', 'on', 'style', 'class', 'props', 'attrs', 'dataset'];\r\nvar slice = Array.prototype.slice;\r\n\r\nfunction isPrimitive(val) {\r\n return typeof val === 'string' ||\r\n typeof val === 'number' ||\r\n typeof val === 'boolean' ||\r\n typeof val === 'symbol' ||\r\n val === null ||\r\n val === undefined;\r\n}\r\n\r\nfunction normalizeAttrs(attrs, nsURI, defNS, modules) {\r\n var map = { ns: nsURI };\r\n for (var i = 0, len = modules.length; i < len; i++) {\r\n var mod = modules[i];\r\n if(attrs[mod])\r\n map[mod] = attrs[mod];\r\n }\r\n for(var key in attrs) {\r\n if(key !== 'key' && key !== 'classNames' && key !== 'selector') {\r\n var idx = key.indexOf('-');\r\n if(idx > 0)\r\n addAttr(key.slice(0, idx), key.slice(idx+1), attrs[key]);\r\n else if(!map[key])\r\n addAttr(defNS, key, attrs[key]);\r\n }\r\n }\r\n return map;\r\n\r\n function addAttr(namespace, key, val) {\r\n var ns = map[namespace] || (map[namespace] = {});\r\n ns[key] = val;\r\n }\r\n}\r\n\r\nfunction buildFromStringTag(nsURI, defNS, modules, tag, attrs, children) {\r\n\r\n if(attrs.selector) {\r\n tag = tag + attrs.selector;\r\n }\r\n if(attrs.classNames) {\r\n var cns = attrs.classNames;\r\n tag = tag + '.' + (\r\n Array.isArray(cns) ? cns.join('.') : cns.replace(/\\s+/g, '.')\r\n );\r\n }\r\n\r\n return {\r\n sel : tag,\r\n data : normalizeAttrs(attrs, nsURI, defNS, modules),\r\n children : children.map( function(c) {\r\n return isPrimitive(c) ? {text: c} : c;\r\n }),\r\n key: attrs.key\r\n };\r\n}\r\n\r\nfunction buildFromComponent(nsURI, defNS, modules, tag, attrs, children) {\r\n var res;\r\n if(typeof tag === 'function')\r\n res = tag(attrs, children);\r\n else if(tag && typeof tag.view === 'function')\r\n res = tag.view(attrs, children);\r\n else if(tag && typeof tag.render === 'function')\r\n res = tag.render(attrs, children);\r\n else\r\n throw \"JSX tag must be either a string, a function or an object with 'view' or 'render' methods\";\r\n res.key = attrs.key;\r\n return res;\r\n}\r\n\r\nfunction flatten(nested, start, flat) {\r\n for (var i = start, len = nested.length; i < len; i++) {\r\n var item = nested[i];\r\n if (Array.isArray(item)) {\r\n flatten(item, 0, flat);\r\n } else {\r\n flat.push(item);\r\n }\r\n }\r\n}\r\n\r\nfunction maybeFlatten(array) {\r\n if (array) {\r\n for (var i = 0, len = array.length; i < len; i++) {\r\n if (Array.isArray(array[i])) {\r\n var flat = array.slice(0, i);\r\n flatten(array, i, flat);\r\n array = flat;\r\n break;\r\n }\r\n }\r\n }\r\n return array;\r\n}\r\n\r\nfunction buildVnode(nsURI, defNS, modules, tag, attrs, children) {\r\n attrs = attrs || {};\r\n children = maybeFlatten(children);\r\n if(typeof tag === 'string') {\r\n return buildFromStringTag(nsURI, defNS, modules, tag, attrs, children)\r\n } else {\r\n return buildFromComponent(nsURI, defNS, modules, tag, attrs, children)\r\n }\r\n}\r\n\r\nfunction JSX(nsURI, defNS, modules) {\r\n return function jsxWithCustomNS(tag, attrs, children) {\r\n if(arguments.length > 3 || !Array.isArray(children))\r\n children = slice.call(arguments, 2);\r\n return buildVnode(nsURI, defNS || 'props', modules || modulesNS, tag, attrs, children);\r\n };\r\n}\r\n\r\nmodule.exports = {\r\n html: JSX(undefined),\r\n svg: JSX(SVGNS, 'attrs'),\r\n JSX: JSX\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom-jsx/snabbdom-jsx.js\n// module id = 7\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\n/**\n * Base class for all commands.\n */\nvar Command = /** @class */ (function () {\n function Command() {\n }\n return Command;\n}());\nexports.Command = Command;\n/**\n * A mergeable command can accumulate subsequent commands of the same kind.\n *\n * For example, multiple subsequent move commands can be merged to yield a\n * single command, such that undo will roll them back altogether. Otherwise\n * the user would have to push CTRL-Z for each mouse move element that\n * resuted in a command.\n */\nvar MergeableCommand = /** @class */ (function (_super) {\n __extends(MergeableCommand, _super);\n function MergeableCommand() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Tries to merge the given command with this.\n *\n * @param command\n * @param context\n */\n MergeableCommand.prototype.merge = function (command, context) {\n return false;\n };\n return MergeableCommand;\n}(Command));\nexports.MergeableCommand = MergeableCommand;\n/**\n * A hidden command is used to trigger the rendering of a model on a\n * hidden canvas.\n *\n * Some graphical elements are styled using CSS, others have bounds that\n * require to layout their children before being computed. In such cases\n * we cannot tell about the size of elements without acutally rendering\n * the DOM. We render them to an invisible canvas. This can be achieved\n * using hidden commands.\n *\n * Hidden commands do not change the model directly, and are as such\n * neither undoable nor redoable. The command stack does not push them on\n * any stack and forwards the resulting model to the invisible viewer.\n */\nvar HiddenCommand = /** @class */ (function (_super) {\n __extends(HiddenCommand, _super);\n function HiddenCommand() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HiddenCommand.prototype.undo = function (context) {\n context.logger.error(this, 'Cannot undo a hidden command');\n return context.root;\n };\n HiddenCommand.prototype.redo = function (context) {\n context.logger.error(this, 'Cannot redo a hidden command');\n return context.root;\n };\n return HiddenCommand;\n}(Command));\nexports.HiddenCommand = HiddenCommand;\nvar PopupCommand = /** @class */ (function (_super) {\n __extends(PopupCommand, _super);\n function PopupCommand() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return PopupCommand;\n}(Command));\nexports.PopupCommand = PopupCommand;\n/**\n * A system command is triggered by the system, e.g. in order to update bounds\n * in the model with data fetched from the DOM.\n *\n * As it is automatically triggered it should not count as a single command in\n * undo/redo operations. Into the bargain, such an automatic command could occur\n * after an undo and as such make the next redo command invalid because it is\n * based on a model state that has changed. The command stack handles system\n * commands in a special way to overcome these issues.\n */\nvar SystemCommand = /** @class */ (function (_super) {\n __extends(SystemCommand, _super);\n function SystemCommand() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SystemCommand;\n}(Command));\nexports.SystemCommand = SystemCommand;\nvar CommandActionHandler = /** @class */ (function () {\n function CommandActionHandler(commandType) {\n this.commandType = commandType;\n }\n CommandActionHandler.prototype.handle = function (action) {\n return new this.commandType(action);\n };\n return CommandActionHandler;\n}());\nexports.CommandActionHandler = CommandActionHandler;\nvar CommandActionHandlerInitializer = /** @class */ (function () {\n function CommandActionHandlerInitializer(commandCtrs) {\n this.commandCtrs = commandCtrs;\n }\n CommandActionHandlerInitializer.prototype.initialize = function (registry) {\n this.commandCtrs.forEach(function (commandCtr) { return registry.registerCommand(commandCtr); });\n };\n CommandActionHandlerInitializer = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.multiInject(types_1.TYPES.ICommand)), __param(0, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Array])\n ], CommandActionHandlerInitializer);\n return CommandActionHandlerInitializer;\n}());\nexports.CommandActionHandlerInitializer = CommandActionHandlerInitializer;\n//# sourceMappingURL=command.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/commands/command.js\n// module id = 8\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nexports.boundsFeature = Symbol('boundsFeature');\nexports.layoutContainerFeature = Symbol('layoutContainerFeature');\nexports.layoutableChildFeature = Symbol('layoutableChildFeature');\nexports.alignFeature = Symbol('alignFeature');\nfunction isBoundsAware(element) {\n return 'bounds' in element;\n}\nexports.isBoundsAware = isBoundsAware;\nfunction isLayoutContainer(element) {\n return 'layout' in element\n && isBoundsAware(element)\n && element.hasFeature(exports.layoutContainerFeature);\n}\nexports.isLayoutContainer = isLayoutContainer;\nfunction isLayoutableChild(element) {\n return isBoundsAware(element)\n && element.hasFeature(exports.layoutableChildFeature);\n}\nexports.isLayoutableChild = isLayoutableChild;\nfunction isSizeable(element) {\n return element.hasFeature(exports.boundsFeature) && isBoundsAware(element);\n}\nexports.isSizeable = isSizeable;\nfunction isAlignable(element) {\n return 'alignment' in element\n && element.hasFeature(exports.alignFeature);\n}\nexports.isAlignable = isAlignable;\nfunction getAbsoluteBounds(element) {\n var boundsAware = smodel_utils_1.findParentByFeature(element, isBoundsAware);\n if (boundsAware !== undefined) {\n var bounds = boundsAware.bounds;\n var current = boundsAware;\n while (current instanceof smodel_1.SChildElement) {\n var parent_1 = current.parent;\n bounds = parent_1.localToParent(bounds);\n current = parent_1;\n }\n return bounds;\n }\n else {\n return geometry_1.EMPTY_BOUNDS;\n }\n}\nexports.getAbsoluteBounds = getAbsoluteBounds;\n/**\n * Abstract class for elements with a position and a size.\n */\nvar SShapeElement = /** @class */ (function (_super) {\n __extends(SShapeElement, _super);\n function SShapeElement() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.position = geometry_1.ORIGIN_POINT;\n _this.size = geometry_1.EMPTY_DIMENSION;\n return _this;\n }\n Object.defineProperty(SShapeElement.prototype, \"bounds\", {\n get: function () {\n return {\n x: this.position.x,\n y: this.position.y,\n width: this.size.width,\n height: this.size.height\n };\n },\n set: function (newBounds) {\n this.position = {\n x: newBounds.x,\n y: newBounds.y\n };\n this.size = {\n width: newBounds.width,\n height: newBounds.height\n };\n },\n enumerable: true,\n configurable: true\n });\n SShapeElement.prototype.localToParent = function (point) {\n var result = {\n x: point.x + this.position.x,\n y: point.y + this.position.y,\n width: -1,\n height: -1\n };\n if (geometry_1.isBounds(point)) {\n result.width = point.width;\n result.height = point.height;\n }\n return result;\n };\n SShapeElement.prototype.parentToLocal = function (point) {\n var result = {\n x: point.x - this.position.x,\n y: point.y - this.position.y,\n width: -1,\n height: -1\n };\n if (geometry_1.isBounds(point)) {\n result.width = point.width;\n result.height = point.height;\n }\n return result;\n };\n return SShapeElement;\n}(smodel_1.SChildElement));\nexports.SShapeElement = SShapeElement;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/model.js\n// module id = 9\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_export.js\n// module id = 10\n// module chunks = 0","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-html.js\n// module id = 11\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DUPLICATED_INJECTABLE_DECORATOR = \"Cannot apply @injectable decorator multiple times.\";\nexports.DUPLICATED_METADATA = \"Metadata key was used more than once in a parameter:\";\nexports.NULL_ARGUMENT = \"NULL argument\";\nexports.KEY_NOT_FOUND = \"Key Not Found\";\nexports.AMBIGUOUS_MATCH = \"Ambiguous match found for serviceIdentifier:\";\nexports.CANNOT_UNBIND = \"Could not unbind serviceIdentifier:\";\nexports.NOT_REGISTERED = \"No matching bindings found for serviceIdentifier:\";\nexports.MISSING_INJECTABLE_ANNOTATION = \"Missing required @injectable annotation in:\";\nexports.MISSING_INJECT_ANNOTATION = \"Missing required @inject or @multiInject annotation in:\";\nexports.UNDEFINED_INJECT_ANNOTATION = function (name) {\n return \"@inject called with undefined this could mean that the class \" + name + \" has \" +\n \"a circular dependency problem. You can use a LazyServiceIdentifer to \" +\n \"overcome this limitation.\";\n};\nexports.CIRCULAR_DEPENDENCY = \"Circular dependency found:\";\nexports.NOT_IMPLEMENTED = \"Sorry, this feature is not fully implemented yet.\";\nexports.INVALID_BINDING_TYPE = \"Invalid binding type:\";\nexports.NO_MORE_SNAPSHOTS_AVAILABLE = \"No snapshot available to restore.\";\nexports.INVALID_MIDDLEWARE_RETURN = \"Invalid return type in middleware. Middleware must return!\";\nexports.INVALID_FUNCTION_BINDING = \"Value provided to function binding must be a function!\";\nexports.INVALID_TO_SELF_VALUE = \"The toSelf function can only be applied when a constructor is \" +\n \"used as service identifier\";\nexports.INVALID_DECORATOR_OPERATION = \"The @inject @multiInject @tagged and @named decorators \" +\n \"must be applied to the parameters of a class constructor or a class property.\";\nexports.ARGUMENTS_LENGTH_MISMATCH_1 = \"The number of constructor arguments in the derived class \";\nexports.ARGUMENTS_LENGTH_MISMATCH_2 = \" must be >= than the number of constructor arguments of its base class.\";\nexports.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT = \"Invalid Container constructor argument. Container options \" +\n \"must be an object.\";\nexports.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE = \"Invalid Container option. Default scope must \" +\n \"be a string ('singleton' or 'transient').\";\nexports.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE = \"Invalid Container option. Auto bind injectable must \" +\n \"be a boolean\";\nexports.MULTIPLE_POST_CONSTRUCT_METHODS = \"Cannot apply @postConstruct decorator multiple times in the same class\";\nexports.POST_CONSTRUCT_ERROR = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n return \"@postConstruct error in class \" + values[0] + \": \" + values[1];\n};\nexports.CIRCULAR_DEPENDENCY_IN_FACTORY = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n return \"It looks like there is a circular dependency \" +\n (\"in one of the '\" + values[0] + \"' bindings. Please investigate bindings with\") +\n (\"service identifier '\" + values[1] + \"'.\");\n};\nexports.STACK_OVERFLOW = \"Maximum call stack size exceeded\";\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/constants/error_msgs.js\n// module id = 12\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"./smodel\");\n/**\n * Model element types can include a colon to separate the basic type and a sub-type. This function\n * extracts the basic type of a model element.\n */\nfunction getBasicType(schema) {\n if (!schema.type)\n return '';\n var colonIndex = schema.type.indexOf(':');\n if (colonIndex >= 0)\n return schema.type.substring(0, colonIndex);\n else\n return schema.type;\n}\nexports.getBasicType = getBasicType;\n/**\n * Model element types can include a colon to separate the basic type and a sub-type. This function\n * extracts the sub-type of a model element.\n */\nfunction getSubType(schema) {\n if (!schema.type)\n return '';\n var colonIndex = schema.type.indexOf(':');\n if (colonIndex >= 0)\n return schema.type.substring(colonIndex + 1);\n else\n return schema.type;\n}\nexports.getSubType = getSubType;\n/**\n * Find the element with the given identifier. If you need to find multiple elements, using an\n * SModelIndex might be more effective.\n */\nfunction findElement(parent, elementId) {\n if (parent.id === elementId)\n return parent;\n if (parent.children !== undefined) {\n for (var _i = 0, _a = parent.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var result = findElement(child, elementId);\n if (result !== undefined)\n return result;\n }\n }\n return undefined;\n}\nexports.findElement = findElement;\n/**\n * Find a parent element that satisfies the given predicate.\n */\nfunction findParent(element, predicate) {\n var current = element;\n while (current !== undefined) {\n if (predicate(current))\n return current;\n else if (current instanceof smodel_1.SChildElement)\n current = current.parent;\n else\n current = undefined;\n }\n return current;\n}\nexports.findParent = findParent;\n/**\n * Find a parent element that implements the feature identified with the given predicate.\n */\nfunction findParentByFeature(element, predicate) {\n var current = element;\n while (current !== undefined) {\n if (predicate(current))\n return current;\n else if (current instanceof smodel_1.SChildElement)\n current = current.parent;\n else\n current = undefined;\n }\n return current;\n}\nexports.findParentByFeature = findParentByFeature;\n/**\n * Translate a point from the coordinate system of the source element to the coordinate system\n * of the target element.\n */\nfunction translatePoint(point, source, target) {\n if (source !== target) {\n // Translate from the source to the root element\n while (source instanceof smodel_1.SChildElement) {\n point = source.localToParent(point);\n source = source.parent;\n if (source === target)\n return point;\n }\n // Translate from the root to the target element\n var targetTrace = [];\n while (target instanceof smodel_1.SChildElement) {\n targetTrace.push(target);\n target = target.parent;\n }\n if (source !== target)\n throw new Error(\"Incompatible source and target: \" + source.id + \", \" + target.id);\n for (var i = targetTrace.length - 1; i >= 0; i--) {\n point = targetTrace[i].parentToLocal(point);\n }\n }\n return point;\n}\nexports.translatePoint = translatePoint;\n//# sourceMappingURL=smodel-utils.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/model/smodel-utils.js\n// module id = 13\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-object.js\n// module id = 14\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// ------------------ Base ------------------\n__export(require(\"./base/actions/action\"));\n__export(require(\"./base/actions/action-dispatcher\"));\n__export(require(\"./base/actions/action-handler\"));\n__export(require(\"./base/animations/animation-frame-syncer\"));\n__export(require(\"./base/animations/animation\"));\n__export(require(\"./base/animations/easing\"));\n__export(require(\"./base/commands/command-stack-options\"));\n__export(require(\"./base/commands/command-stack\"));\n__export(require(\"./base/commands/command\"));\n__export(require(\"./base/features/initialize-canvas\"));\n__export(require(\"./base/features/set-model\"));\n__export(require(\"./base/model/smodel-factory\"));\n__export(require(\"./base/model/smodel-storage\"));\n__export(require(\"./base/model/smodel-utils\"));\n__export(require(\"./base/model/smodel\"));\n__export(require(\"./base/views/key-tool\"));\n__export(require(\"./base/views/mouse-tool\"));\n__export(require(\"./base/views/thunk-view\"));\n__export(require(\"./base/views/view\"));\n__export(require(\"./base/views/viewer-cache\"));\n__export(require(\"./base/views/viewer-options\"));\n__export(require(\"./base/views/viewer\"));\n__export(require(\"./base/views/vnode-decorators\"));\n__export(require(\"./base/views/vnode-utils\"));\n__export(require(\"./base/types\"));\nvar di_config_1 = require(\"./base/di.config\");\nexports.defaultModule = di_config_1.default;\n// ------------------ Features ------------------\n__export(require(\"./features/bounds/bounds-manipulation\"));\n__export(require(\"./features/bounds/layout\"));\n__export(require(\"./features/bounds/model\"));\n__export(require(\"./features/bounds/vbox-layout\"));\n__export(require(\"./features/bounds/hbox-layout\"));\n__export(require(\"./features/bounds/stack-layout\"));\n__export(require(\"./features/button/button-handler\"));\n__export(require(\"./features/button/model\"));\n__export(require(\"./features/expand/expand\"));\n__export(require(\"./features/expand/model\"));\n__export(require(\"./features/expand/views\"));\n__export(require(\"./features/export/export\"));\n__export(require(\"./features/export/model\"));\n__export(require(\"./features/export/svg-exporter\"));\n__export(require(\"./features/fade/fade\"));\n__export(require(\"./features/fade/model\"));\n__export(require(\"./features/hover/hover\"));\n__export(require(\"./features/hover/model\"));\n__export(require(\"./features/move/model\"));\n__export(require(\"./features/move/move\"));\n__export(require(\"./features/open/open\"));\n__export(require(\"./features/open/model\"));\n__export(require(\"./features/select/model\"));\n__export(require(\"./features/select/select\"));\n__export(require(\"./features/undo-redo/undo-redo\"));\n__export(require(\"./features/update/model-matching\"));\n__export(require(\"./features/update/update-model\"));\n__export(require(\"./features/viewport/center-fit\"));\n__export(require(\"./features/viewport/model\"));\n__export(require(\"./features/viewport/scroll\"));\n__export(require(\"./features/viewport/viewport-root\"));\n__export(require(\"./features/viewport/viewport\"));\n__export(require(\"./features/viewport/zoom\"));\nvar di_config_2 = require(\"./features/move/di.config\");\nexports.moveModule = di_config_2.default;\nvar di_config_3 = require(\"./features/bounds/di.config\");\nexports.boundsModule = di_config_3.default;\nvar di_config_4 = require(\"./features/fade/di.config\");\nexports.fadeModule = di_config_4.default;\nvar di_config_5 = require(\"./features/select/di.config\");\nexports.selectModule = di_config_5.default;\nvar di_config_6 = require(\"./features/undo-redo/di.config\");\nexports.undoRedoModule = di_config_6.default;\nvar di_config_7 = require(\"./features/viewport/di.config\");\nexports.viewportModule = di_config_7.default;\nvar di_config_8 = require(\"./features/hover/di.config\");\nexports.hoverModule = di_config_8.default;\nvar di_config_9 = require(\"./features/export/di.config\");\nexports.exportModule = di_config_9.default;\nvar di_config_10 = require(\"./features/expand/di.config\");\nexports.expandModule = di_config_10.default;\nvar di_config_11 = require(\"./features/open/di.config\");\nexports.openModule = di_config_11.default;\nvar di_config_12 = require(\"./features/button/di.config\");\nexports.buttonModule = di_config_12.default;\n// ------------------ Graph ------------------\n__export(require(\"./graph/sgraph-factory\"));\n__export(require(\"./graph/sgraph\"));\n__export(require(\"./graph/views\"));\n// ------------------ Library ------------------\n__export(require(\"./lib/generic-views\"));\n__export(require(\"./lib/html-views\"));\n__export(require(\"./lib/model\"));\n__export(require(\"./lib/svg-views\"));\n// ------------------ Model Source ------------------\n__export(require(\"./model-source/diagram-server\"));\n__export(require(\"./model-source/diagram-state\"));\n__export(require(\"./model-source/local-model-source\"));\n__export(require(\"./model-source/logging\"));\n__export(require(\"./model-source/model-source\"));\n__export(require(\"./model-source/websocket\"));\nvar di_config_13 = require(\"./model-source/di.config\");\nexports.modelSourceModule = di_config_13.default;\n// ------------------ Utilities ------------------\n__export(require(\"./utils/color\"));\n__export(require(\"./utils/geometry\"));\n__export(require(\"./utils/logging\"));\n__export(require(\"./utils/registry\"));\n//# sourceMappingURL=index.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/index.js\n// module id = 15\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar Metadata = (function () {\n function Metadata(key, value) {\n this.key = key;\n this.value = value;\n }\n Metadata.prototype.toString = function () {\n if (this.key === METADATA_KEY.NAMED_TAG) {\n return \"named: \" + this.value.toString() + \" \";\n }\n else {\n return \"tagged: { key:\" + this.key.toString() + \", value: \" + this.value + \" }\";\n }\n };\n return Metadata;\n}());\nexports.Metadata = Metadata;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/metadata.js\n// module id = 16\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar smodel_1 = require(\"./smodel\");\n/**\n * The default model factory creates SModelRoot for the root element and SChildElement for all other\n * model elements.\n */\nvar SModelFactory = /** @class */ (function () {\n function SModelFactory() {\n }\n SModelFactory.prototype.createElement = function (schema, parent) {\n return this.initializeChild(new smodel_1.SChildElement(), schema, parent);\n };\n SModelFactory.prototype.createRoot = function (schema) {\n return this.initializeRoot(new smodel_1.SModelRoot(), schema);\n };\n SModelFactory.prototype.createSchema = function (element) {\n var _this = this;\n var schema = {};\n for (var key in element) {\n if (!this.isReserved(element, key)) {\n var value = element[key];\n if (typeof value !== 'function')\n schema[key] = value;\n }\n }\n if (element instanceof smodel_1.SParentElement)\n schema['children'] = element.children.map(function (child) { return _this.createSchema(child); });\n return schema;\n };\n SModelFactory.prototype.initializeElement = function (element, schema) {\n for (var key in schema) {\n if (!this.isReserved(element, key)) {\n var value = schema[key];\n if (typeof value !== 'function')\n element[key] = value;\n }\n }\n return element;\n };\n SModelFactory.prototype.isReserved = function (element, propertyName) {\n if (['children', 'parent', 'index'].indexOf(propertyName) >= 0)\n return true;\n var obj = element;\n do {\n var descriptor = Object.getOwnPropertyDescriptor(obj, propertyName);\n if (descriptor !== undefined)\n return descriptor.get !== undefined;\n obj = Object.getPrototypeOf(obj);\n } while (obj);\n return false;\n };\n SModelFactory.prototype.initializeParent = function (parent, schema) {\n var _this = this;\n this.initializeElement(parent, schema);\n if (schema.children !== undefined && schema.children.constructor === Array) {\n parent.children = schema.children.map(function (childSchema) { return _this.createElement(childSchema, parent); });\n }\n return parent;\n };\n SModelFactory.prototype.initializeChild = function (child, schema, parent) {\n this.initializeParent(child, schema);\n if (parent !== undefined) {\n child.parent = parent;\n }\n return child;\n };\n SModelFactory.prototype.initializeRoot = function (root, schema) {\n this.initializeParent(root, schema);\n root.index.add(root);\n return root;\n };\n SModelFactory = __decorate([\n inversify_1.injectable()\n ], SModelFactory);\n return SModelFactory;\n}());\nexports.SModelFactory = SModelFactory;\nexports.EMPTY_ROOT = Object.freeze({\n type: 'NONE',\n id: 'EMPTY'\n});\n//# sourceMappingURL=smodel-factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/model/smodel-factory.js\n// module id = 17\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction setAttr(vnode, name, value) {\n getAttrs(vnode)[name] = value;\n}\nexports.setAttr = setAttr;\nfunction setClass(vnode, name, value) {\n getClass(vnode)[name] = value;\n}\nexports.setClass = setClass;\nfunction copyClassesFromVNode(source, target) {\n var classList = getClass(source);\n for (var c in classList) {\n setClass(target, c, true);\n }\n}\nexports.copyClassesFromVNode = copyClassesFromVNode;\nfunction copyClassesFromElement(element, target) {\n var classList = element.classList;\n for (var i = 0; i < classList.length; i++) {\n setClass(target, classList.item(i), true);\n }\n}\nexports.copyClassesFromElement = copyClassesFromElement;\nfunction mergeStyle(vnode, style) {\n getData(vnode).style = __assign({}, (getData(vnode).style || {}), style);\n}\nexports.mergeStyle = mergeStyle;\nfunction on(vnode, event, listener, element) {\n var on = getOn(vnode);\n if (on[event]) {\n throw new Error('EventListener for ' + event + ' already registered on VNode');\n }\n on[event] = [listener, element];\n}\nexports.on = on;\nfunction getAttrs(vnode) {\n var data = getData(vnode);\n if (!data.attrs)\n data.attrs = {};\n return data.attrs;\n}\nexports.getAttrs = getAttrs;\nfunction getData(vnode) {\n if (!vnode.data)\n vnode.data = {};\n return vnode.data;\n}\nfunction getClass(vnode) {\n var data = getData(vnode);\n if (!data.class)\n data.class = {};\n return data.class;\n}\nfunction getOn(vnode) {\n var data = getData(vnode);\n if (!data.on)\n data.on = {};\n return data.on;\n}\n//# sourceMappingURL=vnode-utils.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/vnode-utils.js\n// module id = 18\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-object.js\n// module id = 19\n// module chunks = 0","var core = module.exports = { version: '2.5.3' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_core.js\n// module id = 20\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BindingScopeEnum = {\n Request: \"Request\",\n Singleton: \"Singleton\",\n Transient: \"Transient\"\n};\nexports.BindingScopeEnum = BindingScopeEnum;\nvar BindingTypeEnum = {\n ConstantValue: \"ConstantValue\",\n Constructor: \"Constructor\",\n DynamicValue: \"DynamicValue\",\n Factory: \"Factory\",\n Function: \"Function\",\n Instance: \"Instance\",\n Invalid: \"Invalid\",\n Provider: \"Provider\"\n};\nexports.BindingTypeEnum = BindingTypeEnum;\nvar TargetTypeEnum = {\n ClassProperty: \"ClassProperty\",\n ConstructorArgument: \"ConstructorArgument\",\n Variable: \"Variable\"\n};\nexports.TargetTypeEnum = TargetTypeEnum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/constants/literal_types.js\n// module id = 21\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_defined.js\n// module id = 22\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_descriptors.js\n// module id = 23\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails.js\n// module id = 24\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_has.js\n// module id = 25\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_hide.js\n// module id = 26\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dp.js\n// module id = 27\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine.js\n// module id = 28\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nfunction tagParameter(annotationTarget, propertyName, parameterIndex, metadata) {\n var metadataKey = METADATA_KEY.TAGGED;\n _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex);\n}\nexports.tagParameter = tagParameter;\nfunction tagProperty(annotationTarget, propertyName, metadata) {\n var metadataKey = METADATA_KEY.TAGGED_PROP;\n _tagParameterOrProperty(metadataKey, annotationTarget.constructor, propertyName, metadata);\n}\nexports.tagProperty = tagProperty;\nfunction _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex) {\n var paramsOrPropertiesMetadata = {};\n var isParameterDecorator = (typeof parameterIndex === \"number\");\n var key = (parameterIndex !== undefined && isParameterDecorator) ? parameterIndex.toString() : propertyName;\n if (isParameterDecorator && propertyName !== undefined) {\n throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);\n }\n if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {\n paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);\n }\n var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];\n if (!Array.isArray(paramOrPropertyMetadata)) {\n paramOrPropertyMetadata = [];\n }\n else {\n for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {\n var m = paramOrPropertyMetadata_1[_i];\n if (m.key === metadata.key) {\n throw new Error(ERROR_MSGS.DUPLICATED_METADATA + \" \" + m.key);\n }\n }\n }\n paramOrPropertyMetadata.push(metadata);\n paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;\n Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);\n}\nfunction _decorate(decorators, target) {\n Reflect.decorate(decorators, target);\n}\nfunction _param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n}\nfunction decorate(decorator, target, parameterIndex) {\n if (typeof parameterIndex === \"number\") {\n _decorate([_param(parameterIndex, decorator)], target);\n }\n else if (typeof parameterIndex === \"string\") {\n Reflect.decorate([decorator], target, parameterIndex);\n }\n else {\n _decorate([decorator], target);\n }\n}\nexports.decorate = decorate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/decorator_utils.js\n// module id = 29\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar smodel_1 = require(\"../model/smodel\");\nvar action_1 = require(\"../actions/action\");\nvar vnode_utils_1 = require(\"./vnode-utils\");\nvar dom_helper_1 = require(\"./dom-helper\");\nvar MouseTool = /** @class */ (function () {\n function MouseTool(actionDispatcher, domHelper, mouseListeners) {\n if (mouseListeners === void 0) { mouseListeners = []; }\n this.actionDispatcher = actionDispatcher;\n this.domHelper = domHelper;\n this.mouseListeners = mouseListeners;\n }\n MouseTool.prototype.register = function (mouseListener) {\n this.mouseListeners.push(mouseListener);\n };\n MouseTool.prototype.deregister = function (mouseListener) {\n var index = this.mouseListeners.indexOf(mouseListener);\n if (index >= 0)\n this.mouseListeners.splice(index, 1);\n };\n MouseTool.prototype.getTargetElement = function (model, event) {\n var target = event.target;\n var index = model.index;\n while (target) {\n if (target.id) {\n var element = index.getById(this.domHelper.findSModelIdByDOMElement(target));\n if (element !== undefined)\n return element;\n }\n target = target.parentNode;\n }\n return undefined;\n };\n MouseTool.prototype.handleEvent = function (methodName, model, event) {\n var _this = this;\n this.focusOnMouseEvent(methodName, model);\n var element = this.getTargetElement(model, event);\n if (!element)\n return;\n var actions = this.mouseListeners\n .map(function (listener) { return listener[methodName].apply(listener, [element, event]); })\n .reduce(function (a, b) { return a.concat(b); });\n if (actions.length > 0) {\n event.preventDefault();\n for (var _i = 0, actions_1 = actions; _i < actions_1.length; _i++) {\n var actionOrPromise = actions_1[_i];\n if (action_1.isAction(actionOrPromise)) {\n this.actionDispatcher.dispatch(actionOrPromise);\n }\n else {\n actionOrPromise.then(function (action) {\n _this.actionDispatcher.dispatch(action);\n });\n }\n }\n }\n };\n MouseTool.prototype.focusOnMouseEvent = function (methodName, model) {\n if (document) {\n var domElement = document.getElementById(this.domHelper.createUniqueDOMElementId(model));\n if (methodName === 'mouseDown' && domElement !== null && typeof domElement.focus === 'function')\n domElement.focus();\n }\n };\n MouseTool.prototype.mouseOver = function (model, event) {\n this.handleEvent('mouseOver', model, event);\n };\n MouseTool.prototype.mouseOut = function (model, event) {\n this.handleEvent('mouseOut', model, event);\n };\n MouseTool.prototype.mouseEnter = function (model, event) {\n this.handleEvent('mouseEnter', model, event);\n };\n MouseTool.prototype.mouseLeave = function (model, event) {\n this.handleEvent('mouseLeave', model, event);\n };\n MouseTool.prototype.mouseDown = function (model, event) {\n this.handleEvent('mouseDown', model, event);\n };\n MouseTool.prototype.mouseMove = function (model, event) {\n this.handleEvent('mouseMove', model, event);\n };\n MouseTool.prototype.mouseUp = function (model, event) {\n this.handleEvent('mouseUp', model, event);\n };\n MouseTool.prototype.wheel = function (model, event) {\n this.handleEvent('wheel', model, event);\n };\n MouseTool.prototype.doubleClick = function (model, event) {\n this.handleEvent('doubleClick', model, event);\n };\n MouseTool.prototype.decorate = function (vnode, element) {\n if (element instanceof smodel_1.SModelRoot) {\n vnode_utils_1.on(vnode, 'mouseover', this.mouseOver.bind(this), element);\n vnode_utils_1.on(vnode, 'mouseout', this.mouseOut.bind(this), element);\n vnode_utils_1.on(vnode, 'mouseenter', this.mouseEnter.bind(this), element);\n vnode_utils_1.on(vnode, 'mouseleave', this.mouseLeave.bind(this), element);\n vnode_utils_1.on(vnode, 'mousedown', this.mouseDown.bind(this), element);\n vnode_utils_1.on(vnode, 'mouseup', this.mouseUp.bind(this), element);\n vnode_utils_1.on(vnode, 'mousemove', this.mouseMove.bind(this), element);\n vnode_utils_1.on(vnode, 'wheel', this.wheel.bind(this), element);\n vnode_utils_1.on(vnode, 'contextmenu', function (target, event) {\n event.preventDefault();\n }, element);\n vnode_utils_1.on(vnode, 'dblclick', this.doubleClick.bind(this), element);\n }\n vnode = this.mouseListeners.reduce(function (vnode, listener) { return listener.decorate(vnode, element); }, vnode);\n return vnode;\n };\n MouseTool.prototype.postUpdate = function () {\n };\n MouseTool = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.DOMHelper)),\n __param(2, inversify_1.multiInject(types_1.TYPES.MouseListener)), __param(2, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Object, dom_helper_1.DOMHelper, Array])\n ], MouseTool);\n return MouseTool;\n}());\nexports.MouseTool = MouseTool;\nvar PopupMouseTool = /** @class */ (function (_super) {\n __extends(PopupMouseTool, _super);\n function PopupMouseTool(actionDispatcher, domHelper, mouseListeners) {\n if (mouseListeners === void 0) { mouseListeners = []; }\n var _this = _super.call(this, actionDispatcher, domHelper, mouseListeners) || this;\n _this.actionDispatcher = actionDispatcher;\n _this.domHelper = domHelper;\n _this.mouseListeners = mouseListeners;\n return _this;\n }\n PopupMouseTool = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.DOMHelper)),\n __param(2, inversify_1.multiInject(types_1.TYPES.PopupMouseListener)), __param(2, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Object, dom_helper_1.DOMHelper, Array])\n ], PopupMouseTool);\n return PopupMouseTool;\n}(MouseTool));\nexports.PopupMouseTool = PopupMouseTool;\nvar MouseListener = /** @class */ (function () {\n function MouseListener() {\n }\n MouseListener.prototype.mouseOver = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseOut = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseEnter = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseLeave = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseDown = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseMove = function (target, event) {\n return [];\n };\n MouseListener.prototype.mouseUp = function (target, event) {\n return [];\n };\n MouseListener.prototype.wheel = function (target, event) {\n return [];\n };\n MouseListener.prototype.doubleClick = function (target, event) {\n return [];\n };\n MouseListener.prototype.decorate = function (vnode, element) {\n return vnode;\n };\n MouseListener = __decorate([\n inversify_1.injectable()\n ], MouseListener);\n return MouseListener;\n}());\nexports.MouseListener = MouseListener;\n//# sourceMappingURL=mouse-tool.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/mouse-tool.js\n// module id = 30\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.selectFeature = Symbol('selectFeature');\nfunction isSelectable(element) {\n return element.hasFeature(exports.selectFeature);\n}\nexports.isSelectable = isSelectable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/select/model.js\n// module id = 31\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../../base/model/smodel\");\nexports.viewportFeature = Symbol('viewportFeature');\nfunction isViewport(element) {\n return element instanceof smodel_1.SModelRoot\n && element.hasFeature(exports.viewportFeature)\n && 'zoom' in element\n && 'scroll' in element;\n}\nexports.isViewport = isViewport;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/model.js\n// module id = 32\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-iobject.js\n// module id = 33\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction guid() {\n function s4() {\n return Math.floor((Math.random() + 1) * 0x10000)\n .toString(16)\n .substring(1);\n }\n return s4() + s4() + \"-\" + s4() + \"-\" + s4() + \"-\" +\n s4() + \"-\" + s4() + s4() + s4();\n}\nexports.guid = guid;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/utils/guid.js\n// module id = 34\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar smodel_1 = require(\"../model/smodel\");\nvar vnode_utils_1 = require(\"./vnode-utils\");\nvar KeyTool = /** @class */ (function () {\n function KeyTool(actionDispatcher, keyListeners) {\n if (keyListeners === void 0) { keyListeners = []; }\n this.actionDispatcher = actionDispatcher;\n this.keyListeners = keyListeners;\n }\n KeyTool.prototype.register = function (keyListener) {\n this.keyListeners.push(keyListener);\n };\n KeyTool.prototype.deregister = function (keyListener) {\n var index = this.keyListeners.indexOf(keyListener);\n if (index >= 0)\n this.keyListeners.splice(index, 1);\n };\n KeyTool.prototype.handleEvent = function (methodName, model, event) {\n var actions = this.keyListeners\n .map(function (listener) { return listener[methodName].apply(listener, [model, event]); })\n .reduce(function (a, b) { return a.concat(b); });\n if (actions.length > 0) {\n event.preventDefault();\n this.actionDispatcher.dispatchAll(actions);\n }\n };\n KeyTool.prototype.keyDown = function (element, event) {\n this.handleEvent('keyDown', element, event);\n };\n KeyTool.prototype.focus = function () { };\n KeyTool.prototype.decorate = function (vnode, element) {\n if (element instanceof smodel_1.SModelRoot) {\n vnode_utils_1.on(vnode, 'focus', this.focus.bind(this), element);\n vnode_utils_1.on(vnode, 'keydown', this.keyDown.bind(this), element);\n }\n return vnode;\n };\n KeyTool.prototype.postUpdate = function () {\n };\n KeyTool = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.multiInject(types_1.TYPES.KeyListener)), __param(1, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Object, Array])\n ], KeyTool);\n return KeyTool;\n}());\nexports.KeyTool = KeyTool;\nvar KeyListener = /** @class */ (function () {\n function KeyListener() {\n }\n KeyListener.prototype.keyDown = function (element, event) {\n return [];\n };\n KeyListener = __decorate([\n inversify_1.injectable()\n ], KeyListener);\n return KeyListener;\n}());\nexports.KeyListener = KeyListener;\n//# sourceMappingURL=key-tool.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/key-tool.js\n// module id = 35\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_cof.js\n// module id = 36\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ctx.js\n// module id = 37\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar registry_1 = require(\"../../utils/registry\");\nvar command_1 = require(\"../commands/command\");\n/**\n * The action handler registry maps actions to their handlers using the Action.kind property.\n */\nvar ActionHandlerRegistry = /** @class */ (function (_super) {\n __extends(ActionHandlerRegistry, _super);\n function ActionHandlerRegistry(initializers) {\n var _this = _super.call(this) || this;\n initializers.forEach(function (initializer) { return _this.initializeActionHandler(initializer); });\n return _this;\n }\n ActionHandlerRegistry.prototype.registerCommand = function (commandType) {\n this.register(commandType.KIND, new command_1.CommandActionHandler(commandType));\n };\n ActionHandlerRegistry.prototype.initializeActionHandler = function (initializer) {\n initializer.initialize(this);\n };\n ActionHandlerRegistry = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.multiInject(types_1.TYPES.IActionHandlerInitializer)), __param(0, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Array])\n ], ActionHandlerRegistry);\n return ActionHandlerRegistry;\n}(registry_1.MultiInstanceRegistry));\nexports.ActionHandlerRegistry = ActionHandlerRegistry;\n//# sourceMappingURL=action-handler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/actions/action-handler.js\n// module id = 38\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar easing_1 = require(\"./easing\");\n/**\n * An animation uses the rendering loop of the browser to smoothly\n * calculate a transition between two states of a model element.\n */\nvar Animation = /** @class */ (function () {\n function Animation(context, ease) {\n if (ease === void 0) { ease = easing_1.easeInOut; }\n this.context = context;\n this.ease = ease;\n }\n Animation.prototype.start = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var start = undefined;\n var frames = 0;\n var lambda = function (time) {\n frames++;\n var dtime;\n if (start === undefined) {\n start = time;\n dtime = 0;\n }\n else {\n dtime = time - start;\n }\n var t = Math.min(1, dtime / _this.context.duration);\n var current = _this.tween(_this.ease(t), _this.context);\n _this.context.modelChanged.update(current);\n if (t === 1) {\n _this.context.logger.log(_this, (frames * 1000 / _this.context.duration) + ' fps');\n resolve(current);\n }\n else {\n _this.context.syncer.onNextFrame(lambda);\n }\n };\n if (_this.context.syncer.isAvailable()) {\n _this.context.syncer.onNextFrame(lambda);\n }\n else {\n var finalModel = _this.tween(1, _this.context);\n resolve(finalModel);\n }\n });\n };\n return Animation;\n}());\nexports.Animation = Animation;\nvar CompoundAnimation = /** @class */ (function (_super) {\n __extends(CompoundAnimation, _super);\n function CompoundAnimation(model, context, components, ease) {\n if (components === void 0) { components = []; }\n if (ease === void 0) { ease = easing_1.easeInOut; }\n var _this = _super.call(this, context, ease) || this;\n _this.model = model;\n _this.context = context;\n _this.components = components;\n _this.ease = ease;\n return _this;\n }\n CompoundAnimation.prototype.include = function (animation) {\n this.components.push(animation);\n return this;\n };\n CompoundAnimation.prototype.tween = function (t, context) {\n for (var _i = 0, _a = this.components; _i < _a.length; _i++) {\n var a = _a[_i];\n a.tween(t, context);\n }\n return this.model;\n };\n return CompoundAnimation;\n}(Animation));\nexports.CompoundAnimation = CompoundAnimation;\n//# sourceMappingURL=animation.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/animations/animation.js\n// module id = 39\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar model_1 = require(\"../bounds/model\");\nvar action_dispatcher_1 = require(\"../../base/actions/action-dispatcher\");\nvar types_1 = require(\"../../base/types\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar inversify_1 = require(\"inversify\");\nvar ExportSvgAction = /** @class */ (function () {\n function ExportSvgAction(svg) {\n this.svg = svg;\n this.kind = ExportSvgAction.KIND;\n }\n ExportSvgAction.KIND = 'exportSvg';\n return ExportSvgAction;\n}());\nexports.ExportSvgAction = ExportSvgAction;\nvar SvgExporter = /** @class */ (function () {\n function SvgExporter(options, actionDispatcher, log) {\n this.options = options;\n this.actionDispatcher = actionDispatcher;\n this.log = log;\n }\n SvgExporter.prototype.export = function (root) {\n if (typeof document !== 'undefined') {\n var div = document.getElementById(this.options.hiddenDiv);\n if (div !== null && div.firstElementChild && div.firstElementChild.tagName === 'svg') {\n var svgElement = div.firstElementChild;\n var svg = this.createSvg(svgElement, root);\n this.actionDispatcher.dispatch(new ExportSvgAction(svg));\n }\n }\n };\n SvgExporter.prototype.createSvg = function (svgElementOrig, root) {\n var serializer = new XMLSerializer();\n var svgCopy = serializer.serializeToString(svgElementOrig);\n var iframe = document.createElement('iframe');\n document.body.appendChild(iframe);\n var docCopy = iframe.contentWindow.document;\n docCopy.open();\n docCopy.write(svgCopy);\n docCopy.close();\n var svgElementNew = docCopy.getElementById(svgElementOrig.id);\n svgElementNew.removeAttribute('opacity');\n this.copyStyles(svgElementOrig, svgElementNew, ['width', 'height', 'opacity']);\n svgElementNew.setAttribute('version', '1.1');\n var bounds = this.getBounds(root);\n svgElementNew.setAttribute('viewBox', bounds.x + \" \" + bounds.y + \" \" + bounds.width + \" \" + bounds.height);\n var svgCode = serializer.serializeToString(svgElementNew);\n document.body.removeChild(iframe);\n return svgCode;\n };\n SvgExporter.prototype.copyStyles = function (source, target, skipedProperties) {\n var sourceStyle = getComputedStyle(source);\n var targetStyle = getComputedStyle(target);\n var diffStyle = '';\n for (var i = 0; i < sourceStyle.length; i++) {\n var key = sourceStyle[i];\n if (skipedProperties.indexOf(key) === -1) {\n var value = sourceStyle.getPropertyValue(key);\n if (targetStyle.getPropertyValue(key) !== value) {\n diffStyle += key + \":\" + value + \";\";\n }\n }\n }\n if (diffStyle !== '')\n target.setAttribute('style', diffStyle);\n // IE doesn't retrun anything on source.children\n for (var i = 0; i < source.childNodes.length; ++i) {\n var sourceChild = source.childNodes[i];\n var targetChild = target.childNodes[i];\n if (sourceChild instanceof Element)\n this.copyStyles(sourceChild, targetChild, []);\n }\n };\n SvgExporter.prototype.getBounds = function (root) {\n var allBounds = [geometry_1.EMPTY_BOUNDS];\n root.children.forEach(function (element) {\n if (model_1.isBoundsAware(element)) {\n allBounds.push(element.bounds);\n }\n });\n return allBounds.reduce(function (one, two) { return geometry_1.combine(one, two); });\n };\n SvgExporter = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __param(1, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(2, inversify_1.inject(types_1.TYPES.ILogger)),\n __metadata(\"design:paramtypes\", [Object, action_dispatcher_1.ActionDispatcher, Object])\n ], SvgExporter);\n return SvgExporter;\n}());\nexports.SvgExporter = SvgExporter;\n//# sourceMappingURL=svg-exporter.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/export/svg-exporter.js\n// module id = 40\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.moveFeature = Symbol('moveFeature');\nfunction isLocateable(element) {\n return element['position'] !== undefined;\n}\nexports.isLocateable = isLocateable;\nfunction isMoveable(element) {\n return element.hasFeature(exports.moveFeature) && isLocateable(element);\n}\nexports.isMoveable = isMoveable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/move/model.js\n// module id = 41\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar command_1 = require(\"../../base/commands/command\");\nvar animation_1 = require(\"../../base/animations/animation\");\nvar model_1 = require(\"./model\");\nvar ViewportAction = /** @class */ (function () {\n function ViewportAction(elementId, newViewport, animate) {\n this.elementId = elementId;\n this.newViewport = newViewport;\n this.animate = animate;\n this.kind = ViewportCommand.KIND;\n }\n return ViewportAction;\n}());\nexports.ViewportAction = ViewportAction;\nvar ViewportCommand = /** @class */ (function (_super) {\n __extends(ViewportCommand, _super);\n function ViewportCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n _this.newViewport = action.newViewport;\n return _this;\n }\n ViewportCommand.prototype.execute = function (context) {\n var model = context.root;\n var element = model.index.getById(this.action.elementId);\n if (element && model_1.isViewport(element)) {\n this.element = element;\n this.oldViewport = {\n scroll: this.element.scroll,\n zoom: this.element.zoom,\n };\n if (this.action.animate)\n return new ViewportAnimation(this.element, this.oldViewport, this.newViewport, context).start();\n else {\n this.element.scroll = this.newViewport.scroll;\n this.element.zoom = this.newViewport.zoom;\n }\n }\n return model;\n };\n ViewportCommand.prototype.undo = function (context) {\n return new ViewportAnimation(this.element, this.newViewport, this.oldViewport, context).start();\n };\n ViewportCommand.prototype.redo = function (context) {\n return new ViewportAnimation(this.element, this.oldViewport, this.newViewport, context).start();\n };\n ViewportCommand.prototype.merge = function (command, context) {\n if (!this.action.animate && command instanceof ViewportCommand && this.element === command.element) {\n this.newViewport = command.newViewport;\n return true;\n }\n return false;\n };\n ViewportCommand.KIND = 'viewport';\n return ViewportCommand;\n}(command_1.MergeableCommand));\nexports.ViewportCommand = ViewportCommand;\nvar ViewportAnimation = /** @class */ (function (_super) {\n __extends(ViewportAnimation, _super);\n function ViewportAnimation(element, oldViewport, newViewport, context) {\n var _this = _super.call(this, context) || this;\n _this.element = element;\n _this.oldViewport = oldViewport;\n _this.newViewport = newViewport;\n _this.context = context;\n _this.zoomFactor = Math.log(newViewport.zoom / oldViewport.zoom);\n return _this;\n }\n ViewportAnimation.prototype.tween = function (t, context) {\n this.element.scroll = {\n x: (1 - t) * this.oldViewport.scroll.x + t * this.newViewport.scroll.x,\n y: (1 - t) * this.oldViewport.scroll.y + t * this.newViewport.scroll.y\n };\n this.element.zoom = this.oldViewport.zoom * Math.exp(t * this.zoomFactor);\n return context.root;\n };\n return ViewportAnimation;\n}(animation_1.Animation));\nexports.ViewportAnimation = ViewportAnimation;\n//# sourceMappingURL=viewport.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/viewport.js\n// module id = 42\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iterators.js\n// module id = 43\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-to-string-tag.js\n// module id = 44\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-length.js\n// module id = 45\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_uid.js\n// module id = 46\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nfunction getServiceIdentifierAsString(serviceIdentifier) {\n if (typeof serviceIdentifier === \"function\") {\n var _serviceIdentifier = serviceIdentifier;\n return _serviceIdentifier.name;\n }\n else if (typeof serviceIdentifier === \"symbol\") {\n return serviceIdentifier.toString();\n }\n else {\n var _serviceIdentifier = serviceIdentifier;\n return _serviceIdentifier;\n }\n}\nexports.getServiceIdentifierAsString = getServiceIdentifierAsString;\nfunction listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {\n var registeredBindingsList = \"\";\n var registeredBindings = getBindings(container, serviceIdentifier);\n if (registeredBindings.length !== 0) {\n registeredBindingsList = \"\\nRegistered bindings:\";\n registeredBindings.forEach(function (binding) {\n var name = \"Object\";\n if (binding.implementationType !== null) {\n name = getFunctionName(binding.implementationType);\n }\n registeredBindingsList = registeredBindingsList + \"\\n \" + name;\n if (binding.constraint.metaData) {\n registeredBindingsList = registeredBindingsList + \" - \" + binding.constraint.metaData;\n }\n });\n }\n return registeredBindingsList;\n}\nexports.listRegisteredBindingsForServiceIdentifier = listRegisteredBindingsForServiceIdentifier;\nfunction alreadyDependencyChain(request, serviceIdentifier) {\n if (request.parentRequest === null) {\n return false;\n }\n else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {\n return true;\n }\n else {\n return alreadyDependencyChain(request.parentRequest, serviceIdentifier);\n }\n}\nfunction dependencyChainToString(request) {\n function _createStringArr(req, result) {\n if (result === void 0) { result = []; }\n var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);\n result.push(serviceIdentifier);\n if (req.parentRequest !== null) {\n return _createStringArr(req.parentRequest, result);\n }\n return result;\n }\n var stringArr = _createStringArr(request);\n return stringArr.reverse().join(\" --> \");\n}\nfunction circularDependencyToException(request) {\n request.childRequests.forEach(function (childRequest) {\n if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {\n var services = dependencyChainToString(childRequest);\n throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY + \" \" + services);\n }\n else {\n circularDependencyToException(childRequest);\n }\n });\n}\nexports.circularDependencyToException = circularDependencyToException;\nfunction listMetadataForTarget(serviceIdentifierString, target) {\n if (target.isTagged() || target.isNamed()) {\n var m_1 = \"\";\n var namedTag = target.getNamedTag();\n var otherTags = target.getCustomTags();\n if (namedTag !== null) {\n m_1 += namedTag.toString() + \"\\n\";\n }\n if (otherTags !== null) {\n otherTags.forEach(function (tag) {\n m_1 += tag.toString() + \"\\n\";\n });\n }\n return \" \" + serviceIdentifierString + \"\\n \" + serviceIdentifierString + \" - \" + m_1;\n }\n else {\n return \" \" + serviceIdentifierString;\n }\n}\nexports.listMetadataForTarget = listMetadataForTarget;\nfunction getFunctionName(v) {\n if (v.name) {\n return v.name;\n }\n else {\n var name_1 = v.toString();\n var match = name_1.match(/^function\\s*([^\\s(]+)/);\n return match ? match[1] : \"Anonymous function: \" + name_1;\n }\n}\nexports.getFunctionName = getFunctionName;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/utils/serialization.js\n// module id = 47\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar AnimationFrameSyncer = /** @class */ (function () {\n function AnimationFrameSyncer() {\n this.tasks = [];\n this.endTasks = [];\n this.triggered = false;\n }\n AnimationFrameSyncer.prototype.isAvailable = function () {\n return typeof requestAnimationFrame === \"function\";\n };\n AnimationFrameSyncer.prototype.onNextFrame = function (task) {\n this.tasks.push(task);\n this.trigger();\n };\n AnimationFrameSyncer.prototype.onEndOfNextFrame = function (task) {\n this.endTasks.push(task);\n this.trigger();\n };\n AnimationFrameSyncer.prototype.trigger = function () {\n var _this = this;\n if (!this.triggered) {\n this.triggered = true;\n if (this.isAvailable())\n requestAnimationFrame(function (time) { return _this.run(time); });\n else\n setTimeout(function (time) { return _this.run(time); });\n }\n };\n AnimationFrameSyncer.prototype.run = function (time) {\n var tasks = this.tasks;\n var endTasks = this.endTasks;\n this.triggered = false;\n this.tasks = [];\n this.endTasks = [];\n tasks.forEach(function (task) { return task.call(undefined, time); });\n endTasks.forEach(function (task) { return task.call(undefined, time); });\n };\n AnimationFrameSyncer = __decorate([\n inversify_1.injectable()\n ], AnimationFrameSyncer);\n return AnimationFrameSyncer;\n}());\nexports.AnimationFrameSyncer = AnimationFrameSyncer;\n//# sourceMappingURL=animation-frame-syncer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/animations/animation-frame-syncer.js\n// module id = 48\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar command_1 = require(\"../commands/command\");\nvar initialize_canvas_1 = require(\"./initialize-canvas\");\n/**\n * Sent from the client to the model source (e.g. a DiagramServer) in order to request a model. Usually this\n * is the first message that is sent to the source, so it is also used to initiate the communication.\n * The response is a SetModelAction or an UpdateModelAction.\n */\nvar RequestModelAction = /** @class */ (function () {\n function RequestModelAction(options) {\n this.options = options;\n this.kind = RequestModelAction.KIND;\n }\n RequestModelAction.KIND = 'requestModel';\n return RequestModelAction;\n}());\nexports.RequestModelAction = RequestModelAction;\n/**\n * Sent from the model source to the client in order to set the model. If a model is already present, it is replaced.\n */\nvar SetModelAction = /** @class */ (function () {\n function SetModelAction(newRoot, isInitial) {\n if (isInitial === void 0) { isInitial = false; }\n this.newRoot = newRoot;\n this.isInitial = isInitial;\n this.kind = SetModelCommand.KIND;\n }\n return SetModelAction;\n}());\nexports.SetModelAction = SetModelAction;\nvar SetModelCommand = /** @class */ (function (_super) {\n __extends(SetModelCommand, _super);\n function SetModelCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n return _this;\n }\n SetModelCommand.prototype.execute = function (context) {\n this.oldRoot = context.modelFactory.createRoot(context.root);\n this.newRoot = context.modelFactory.createRoot(this.action.newRoot);\n if (geometry_1.isValidDimension(this.oldRoot.canvasBounds)) {\n this.newRoot.canvasBounds = this.oldRoot.canvasBounds;\n }\n return this.newRoot;\n };\n SetModelCommand.prototype.undo = function (context) {\n return this.oldRoot;\n };\n SetModelCommand.prototype.redo = function (context) {\n return this.newRoot;\n };\n Object.defineProperty(SetModelCommand.prototype, \"blockUntilActionKind\", {\n get: function () {\n if (this.action.isInitial)\n return initialize_canvas_1.InitializeCanvasBoundsCommand.KIND;\n else\n return undefined;\n },\n enumerable: true,\n configurable: true\n });\n SetModelCommand.KIND = 'setModel';\n SetModelCommand = __decorate([\n inversify_1.injectable(),\n __metadata(\"design:paramtypes\", [SetModelAction])\n ], SetModelCommand);\n return SetModelCommand;\n}(command_1.Command));\nexports.SetModelCommand = SetModelCommand;\n//# sourceMappingURL=set-model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/features/set-model.js\n// module id = 49\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar command_1 = require(\"../../base/commands/command\");\nvar model_1 = require(\"./model\");\n/**\n * Sent from the model source (e.g. a DiagramServer) to the client to update the bounds of some\n * (or all) model elements.\n */\nvar SetBoundsAction = /** @class */ (function () {\n function SetBoundsAction(bounds) {\n this.bounds = bounds;\n this.kind = SetBoundsCommand.KIND;\n }\n return SetBoundsAction;\n}());\nexports.SetBoundsAction = SetBoundsAction;\n/**\n * Sent from the model source to the client to request bounds for the given model. The model is\n * rendered invisibly so the bounds can derived from the DOM. The response is a ComputedBoundsAction.\n * This hidden rendering round-trip is necessary if the client is responsible for parts of the layout\n * (see `needsClientLayout` viewer option).\n */\nvar RequestBoundsAction = /** @class */ (function () {\n function RequestBoundsAction(newRoot) {\n this.newRoot = newRoot;\n this.kind = RequestBoundsCommand.KIND;\n }\n return RequestBoundsAction;\n}());\nexports.RequestBoundsAction = RequestBoundsAction;\n/**\n * Sent from the client to the model source (e.g. a DiagramServer) to transmit the result of bounds\n * computation as a response to a RequestBoundsAction. If the server is responsible for parts of\n * the layout (see `needsServerLayout` viewer option), it can do so after applying the computed bounds\n * received with this action. Otherwise there is no need to send the computed bounds to the server,\n * so they can be processed locally by the client.\n */\nvar ComputedBoundsAction = /** @class */ (function () {\n function ComputedBoundsAction(bounds, revision, alignments) {\n this.bounds = bounds;\n this.revision = revision;\n this.alignments = alignments;\n this.kind = ComputedBoundsAction.KIND;\n }\n ComputedBoundsAction.KIND = 'computedBounds';\n return ComputedBoundsAction;\n}());\nexports.ComputedBoundsAction = ComputedBoundsAction;\nvar SetBoundsCommand = /** @class */ (function (_super) {\n __extends(SetBoundsCommand, _super);\n function SetBoundsCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n _this.bounds = [];\n return _this;\n }\n SetBoundsCommand.prototype.execute = function (context) {\n var _this = this;\n this.action.bounds.forEach(function (b) {\n var element = context.root.index.getById(b.elementId);\n if (element && model_1.isBoundsAware(element)) {\n _this.bounds.push({\n element: element,\n oldBounds: element.bounds,\n newBounds: b.newBounds,\n });\n }\n });\n return this.redo(context);\n };\n SetBoundsCommand.prototype.undo = function (context) {\n this.bounds.forEach(function (b) { return b.element.bounds = b.oldBounds; });\n return context.root;\n };\n SetBoundsCommand.prototype.redo = function (context) {\n this.bounds.forEach(function (b) { return b.element.bounds = b.newBounds; });\n return context.root;\n };\n SetBoundsCommand.KIND = 'setBounds';\n return SetBoundsCommand;\n}(command_1.SystemCommand));\nexports.SetBoundsCommand = SetBoundsCommand;\nvar RequestBoundsCommand = /** @class */ (function (_super) {\n __extends(RequestBoundsCommand, _super);\n function RequestBoundsCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n return _this;\n }\n RequestBoundsCommand.prototype.execute = function (context) {\n return context.modelFactory.createRoot(this.action.newRoot);\n };\n Object.defineProperty(RequestBoundsCommand.prototype, \"blockUntilActionKind\", {\n get: function () {\n return ComputedBoundsAction.KIND;\n },\n enumerable: true,\n configurable: true\n });\n RequestBoundsCommand.KIND = 'requestBounds';\n return RequestBoundsCommand;\n}(command_1.HiddenCommand));\nexports.RequestBoundsCommand = RequestBoundsCommand;\n//# sourceMappingURL=bounds-manipulation.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/bounds-manipulation.js\n// module id = 50\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fadeFeature = Symbol('fadeFeature');\nfunction isFadeable(element) {\n return element.hasFeature(exports.fadeFeature) && element['opacity'] !== undefined;\n}\nexports.isFadeable = isFadeable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/fade/model.js\n// module id = 51\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar command_1 = require(\"../../base/commands/command\");\nvar smodel_factory_1 = require(\"../../base/model/smodel-factory\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar key_tool_1 = require(\"../../base/views/key-tool\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar model_1 = require(\"../bounds/model\");\nvar model_2 = require(\"./model\");\n/**\n * Triggered when the user puts the mouse pointer over an element.\n */\nvar HoverFeedbackAction = /** @class */ (function () {\n function HoverFeedbackAction(mouseoverElement, mouseIsOver) {\n this.mouseoverElement = mouseoverElement;\n this.mouseIsOver = mouseIsOver;\n this.kind = HoverFeedbackCommand.KIND;\n }\n return HoverFeedbackAction;\n}());\nexports.HoverFeedbackAction = HoverFeedbackAction;\nvar HoverFeedbackCommand = /** @class */ (function (_super) {\n __extends(HoverFeedbackCommand, _super);\n function HoverFeedbackCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n return _this;\n }\n HoverFeedbackCommand.prototype.execute = function (context) {\n var model = context.root;\n var modelElement = model.index.getById(this.action.mouseoverElement);\n if (modelElement) {\n if (model_2.isHoverable(modelElement)) {\n modelElement.hoverFeedback = this.action.mouseIsOver;\n }\n }\n return this.redo(context);\n };\n HoverFeedbackCommand.prototype.undo = function (context) {\n return context.root;\n };\n HoverFeedbackCommand.prototype.redo = function (context) {\n return context.root;\n };\n HoverFeedbackCommand.KIND = 'hoverFeedback';\n return HoverFeedbackCommand;\n}(command_1.Command));\nexports.HoverFeedbackCommand = HoverFeedbackCommand;\n/**\n * Triggered when the user hovers the mouse pointer over an element to get a popup with details on\n * that element. This action is sent from the client to the model source, e.g. a DiagramServer.\n * The response is a SetPopupModelAction.\n */\nvar RequestPopupModelAction = /** @class */ (function () {\n function RequestPopupModelAction(elementId, bounds) {\n this.elementId = elementId;\n this.bounds = bounds;\n this.kind = RequestPopupModelAction.KIND;\n }\n RequestPopupModelAction.KIND = 'requestPopupModel';\n return RequestPopupModelAction;\n}());\nexports.RequestPopupModelAction = RequestPopupModelAction;\n/**\n * Sent from the model source to the client to display a popup in response to a RequestPopupModelAction.\n * This action can also be used to remove any existing popup by choosing EMPTY_ROOT as root element.\n */\nvar SetPopupModelAction = /** @class */ (function () {\n function SetPopupModelAction(newRoot) {\n this.newRoot = newRoot;\n this.kind = SetPopupModelCommand.KIND;\n }\n return SetPopupModelAction;\n}());\nexports.SetPopupModelAction = SetPopupModelAction;\nvar SetPopupModelCommand = /** @class */ (function (_super) {\n __extends(SetPopupModelCommand, _super);\n function SetPopupModelCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n return _this;\n }\n SetPopupModelCommand.prototype.execute = function (context) {\n this.oldRoot = context.root;\n this.newRoot = context.modelFactory.createRoot(this.action.newRoot);\n return this.newRoot;\n };\n SetPopupModelCommand.prototype.undo = function (context) {\n return this.oldRoot;\n };\n SetPopupModelCommand.prototype.redo = function (context) {\n return this.newRoot;\n };\n SetPopupModelCommand.KIND = 'setPopupModel';\n return SetPopupModelCommand;\n}(command_1.PopupCommand));\nexports.SetPopupModelCommand = SetPopupModelCommand;\nvar AbstractHoverMouseListener = /** @class */ (function (_super) {\n __extends(AbstractHoverMouseListener, _super);\n function AbstractHoverMouseListener(options, state) {\n var _this = _super.call(this) || this;\n _this.options = options;\n _this.state = state;\n return _this;\n }\n AbstractHoverMouseListener.prototype.stopMouseOutTimer = function () {\n if (this.state.mouseOutTimer !== undefined) {\n window.clearTimeout(this.state.mouseOutTimer);\n this.state.mouseOutTimer = undefined;\n }\n };\n AbstractHoverMouseListener.prototype.startMouseOutTimer = function () {\n var _this = this;\n this.stopMouseOutTimer();\n return new Promise(function (resolve) {\n _this.state.mouseOutTimer = window.setTimeout(function () {\n _this.state.popupOpen = false;\n _this.state.previousPopupElement = undefined;\n resolve(new SetPopupModelAction({ type: smodel_factory_1.EMPTY_ROOT.type, id: smodel_factory_1.EMPTY_ROOT.id }));\n }, _this.options.popupCloseDelay);\n });\n };\n AbstractHoverMouseListener.prototype.stopMouseOverTimer = function () {\n if (this.state.mouseOverTimer !== undefined) {\n window.clearTimeout(this.state.mouseOverTimer);\n this.state.mouseOverTimer = undefined;\n }\n };\n AbstractHoverMouseListener = __decorate([\n __param(0, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __param(1, inversify_1.inject(types_1.TYPES.HoverState)),\n __metadata(\"design:paramtypes\", [Object, Object])\n ], AbstractHoverMouseListener);\n return AbstractHoverMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.AbstractHoverMouseListener = AbstractHoverMouseListener;\nvar HoverMouseListener = /** @class */ (function (_super) {\n __extends(HoverMouseListener, _super);\n function HoverMouseListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverMouseListener.prototype.calculatePopupPosition = function (target, mousePosition) {\n var offset = { x: -5, y: 20 };\n var maxDist = 150;\n var targetBounds = model_1.getAbsoluteBounds(target);\n var canvasBounds = target.root.canvasBounds;\n var boundsInWindow = geometry_1.translate(targetBounds, canvasBounds);\n var distRight = boundsInWindow.x + boundsInWindow.width - mousePosition.x;\n var distBottom = boundsInWindow.y + boundsInWindow.height - mousePosition.y;\n if (distBottom <= distRight && distBottom < maxDist) {\n offset = { x: -5, y: Math.round(distBottom + 5) };\n }\n else if (distRight <= distBottom && distRight < maxDist) {\n offset = { x: Math.round(distRight + 5), y: -5 };\n }\n var leftPopupPosition = mousePosition.x + offset.x;\n var canvasRightBorderPosition = canvasBounds.x + canvasBounds.width;\n if (leftPopupPosition > canvasRightBorderPosition) {\n leftPopupPosition = canvasRightBorderPosition;\n }\n var topPopupPosition = mousePosition.y + offset.y;\n var canvasBottomBorderPosition = canvasBounds.y + canvasBounds.height;\n if (topPopupPosition > canvasBottomBorderPosition) {\n topPopupPosition = canvasBottomBorderPosition;\n }\n return { x: leftPopupPosition, y: topPopupPosition };\n };\n HoverMouseListener.prototype.startMouseOverTimer = function (target, event) {\n var _this = this;\n this.stopMouseOverTimer();\n return new Promise(function (resolve) {\n _this.state.mouseOverTimer = window.setTimeout(function () {\n var popupPosition = _this.calculatePopupPosition(target, { x: event.pageX, y: event.pageY });\n resolve(new RequestPopupModelAction(target.id, {\n x: popupPosition.x,\n y: popupPosition.y,\n width: -1,\n height: -1\n }));\n _this.state.popupOpen = true;\n _this.state.previousPopupElement = target;\n }, _this.options.popupOpenDelay);\n });\n };\n HoverMouseListener.prototype.mouseOver = function (target, event) {\n var state = this.state;\n var result = [];\n var popupTarget = smodel_utils_1.findParent(target, model_2.hasPopupFeature);\n if (state.popupOpen && (popupTarget === undefined ||\n state.previousPopupElement !== undefined && state.previousPopupElement.id !== popupTarget.id)) {\n result.push(this.startMouseOutTimer());\n }\n else {\n this.stopMouseOverTimer();\n this.stopMouseOutTimer();\n }\n if (popupTarget !== undefined &&\n (state.previousPopupElement === undefined || state.previousPopupElement.id !== popupTarget.id)) {\n result.push(this.startMouseOverTimer(popupTarget, event));\n }\n var hoverTarget = smodel_utils_1.findParentByFeature(target, model_2.isHoverable);\n if (hoverTarget !== undefined)\n result.push(new HoverFeedbackAction(hoverTarget.id, true));\n return result;\n };\n HoverMouseListener.prototype.mouseOut = function (target, event) {\n var result = [];\n if (!this.state.popupOpen)\n this.stopMouseOverTimer();\n var hoverTarget = smodel_utils_1.findParentByFeature(target, model_2.isHoverable);\n if (hoverTarget !== undefined)\n result.push(new HoverFeedbackAction(hoverTarget.id, false));\n return result;\n };\n HoverMouseListener.prototype.mouseMove = function (target, event) {\n var popupTarget = smodel_utils_1.findParent(target, model_2.hasPopupFeature);\n return this.state.popupOpen || popupTarget === undefined ? [] : [this.startMouseOverTimer(popupTarget, event)];\n };\n HoverMouseListener = __decorate([\n inversify_1.injectable()\n ], HoverMouseListener);\n return HoverMouseListener;\n}(AbstractHoverMouseListener));\nexports.HoverMouseListener = HoverMouseListener;\nvar PopupHoverMouseListener = /** @class */ (function (_super) {\n __extends(PopupHoverMouseListener, _super);\n function PopupHoverMouseListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PopupHoverMouseListener.prototype.mouseOut = function (target, event) {\n return [this.startMouseOutTimer()];\n };\n PopupHoverMouseListener.prototype.mouseOver = function (target, event) {\n this.stopMouseOutTimer();\n this.stopMouseOverTimer();\n return [];\n };\n PopupHoverMouseListener = __decorate([\n inversify_1.injectable()\n ], PopupHoverMouseListener);\n return PopupHoverMouseListener;\n}(AbstractHoverMouseListener));\nexports.PopupHoverMouseListener = PopupHoverMouseListener;\nvar HoverKeyListener = /** @class */ (function (_super) {\n __extends(HoverKeyListener, _super);\n function HoverKeyListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverKeyListener.prototype.keyDown = function (element, event) {\n if (event.keyCode === 27) {\n return [new SetPopupModelAction({ type: smodel_factory_1.EMPTY_ROOT.type, id: smodel_factory_1.EMPTY_ROOT.id })];\n }\n return [];\n };\n return HoverKeyListener;\n}(key_tool_1.KeyListener));\nexports.HoverKeyListener = HoverKeyListener;\n//# sourceMappingURL=hover.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/hover/hover.js\n// module id = 52\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar ProviderRegistry = /** @class */ (function () {\n function ProviderRegistry() {\n this.elements = new Map;\n }\n ProviderRegistry.prototype.register = function (key, cstr) {\n if (key === undefined)\n throw new Error('Key is undefined');\n if (this.hasKey(key))\n throw new Error('Key is already registered: ' + key);\n this.elements.set(key, cstr);\n };\n ProviderRegistry.prototype.deregister = function (key) {\n if (key === undefined)\n throw new Error('Key is undefined');\n this.elements.delete(key);\n };\n ProviderRegistry.prototype.hasKey = function (key) {\n return this.elements.has(key);\n };\n ProviderRegistry.prototype.get = function (key, arg) {\n var existingCstr = this.elements.get(key);\n if (existingCstr)\n return new existingCstr(arg);\n else\n return this.missing(key, arg);\n };\n ProviderRegistry.prototype.missing = function (key, arg) {\n throw new Error('Unknown registry key: ' + key);\n };\n ProviderRegistry = __decorate([\n inversify_1.injectable()\n ], ProviderRegistry);\n return ProviderRegistry;\n}());\nexports.ProviderRegistry = ProviderRegistry;\nvar InstanceRegistry = /** @class */ (function () {\n function InstanceRegistry() {\n this.elements = new Map;\n }\n InstanceRegistry.prototype.register = function (key, instance) {\n if (key === undefined)\n throw new Error('Key is undefined');\n if (this.hasKey(key))\n throw new Error('Key is already registered: ' + key);\n this.elements.set(key, instance);\n };\n InstanceRegistry.prototype.deregister = function (key) {\n if (key === undefined)\n throw new Error('Key is undefined');\n this.elements.delete(key);\n };\n InstanceRegistry.prototype.hasKey = function (key) {\n return this.elements.has(key);\n };\n InstanceRegistry.prototype.get = function (key) {\n var existingInstance = this.elements.get(key);\n if (existingInstance)\n return existingInstance;\n else\n return this.missing(key);\n };\n InstanceRegistry.prototype.missing = function (key) {\n throw new Error('Unknown registry key: ' + key);\n };\n InstanceRegistry = __decorate([\n inversify_1.injectable()\n ], InstanceRegistry);\n return InstanceRegistry;\n}());\nexports.InstanceRegistry = InstanceRegistry;\nvar MultiInstanceRegistry = /** @class */ (function () {\n function MultiInstanceRegistry() {\n this.elements = new Map;\n }\n MultiInstanceRegistry.prototype.register = function (key, instance) {\n if (key === undefined)\n throw new Error('Key is undefined');\n var instances = this.elements.get(key);\n if (instances !== undefined)\n instances.push(instance);\n else\n this.elements.set(key, [instance]);\n };\n MultiInstanceRegistry.prototype.deregisterAll = function (key) {\n if (key === undefined)\n throw new Error('Key is undefined');\n this.elements.delete(key);\n };\n MultiInstanceRegistry.prototype.get = function (key) {\n var existingInstances = this.elements.get(key);\n if (existingInstances !== undefined)\n return existingInstances;\n else\n return [];\n };\n MultiInstanceRegistry = __decorate([\n inversify_1.injectable()\n ], MultiInstanceRegistry);\n return MultiInstanceRegistry;\n}());\nexports.MultiInstanceRegistry = MultiInstanceRegistry;\n//# sourceMappingURL=registry.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/utils/registry.js\n// module id = 53\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_a-function.js\n// module id = 54\n// module chunks = 0","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fix-re-wks.js\n// module id = 55\n// module chunks = 0","module.exports = false;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_library.js\n// module id = 56\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys.js\n// module id = 57\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_property-desc.js\n// module id = 58\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-integer.js\n// module id = 59\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar smodel_1 = require(\"../model/smodel\");\nvar command_1 = require(\"../commands/command\");\n/**\n * Grabs the bounds from the root element in page coordinates and fires a\n * InitializeCanvasBoundsAction. This size is needed for other actions such\n * as FitToScreenAction.\n */\nvar CanvasBoundsInitializer = /** @class */ (function () {\n function CanvasBoundsInitializer(actionDispatcher) {\n this.actionDispatcher = actionDispatcher;\n }\n CanvasBoundsInitializer.prototype.decorate = function (vnode, element) {\n if (element instanceof smodel_1.SModelRoot && !geometry_1.isValidDimension(element.canvasBounds)) {\n this.rootAndVnode = [element, vnode];\n }\n return vnode;\n };\n CanvasBoundsInitializer.prototype.postUpdate = function () {\n if (this.rootAndVnode !== undefined) {\n var domElement = this.rootAndVnode[1].elm;\n var oldBounds = this.rootAndVnode[0].canvasBounds;\n if (domElement !== undefined) {\n var newBounds = this.getBoundsInPage(domElement);\n if (!(geometry_1.almostEquals(newBounds.x, oldBounds.x)\n && geometry_1.almostEquals(newBounds.y, oldBounds.y)\n && geometry_1.almostEquals(newBounds.width, oldBounds.width)\n && geometry_1.almostEquals(newBounds.height, oldBounds.width)))\n this.actionDispatcher.dispatch(new InitializeCanvasBoundsAction(newBounds));\n }\n this.rootAndVnode = undefined;\n }\n };\n CanvasBoundsInitializer.prototype.getBoundsInPage = function (element) {\n var bounds = element.getBoundingClientRect();\n var scroll = typeof window !== 'undefined' ? { x: window.scrollX, y: window.scrollY } : geometry_1.ORIGIN_POINT;\n return {\n x: bounds.left + scroll.x,\n y: bounds.top + scroll.y,\n width: bounds.width,\n height: bounds.height\n };\n };\n CanvasBoundsInitializer = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __metadata(\"design:paramtypes\", [Object])\n ], CanvasBoundsInitializer);\n return CanvasBoundsInitializer;\n}());\nexports.CanvasBoundsInitializer = CanvasBoundsInitializer;\nvar InitializeCanvasBoundsAction = /** @class */ (function () {\n function InitializeCanvasBoundsAction(newCanvasBounds) {\n this.newCanvasBounds = newCanvasBounds;\n this.kind = InitializeCanvasBoundsCommand.KIND;\n }\n return InitializeCanvasBoundsAction;\n}());\nexports.InitializeCanvasBoundsAction = InitializeCanvasBoundsAction;\nvar InitializeCanvasBoundsCommand = /** @class */ (function (_super) {\n __extends(InitializeCanvasBoundsCommand, _super);\n function InitializeCanvasBoundsCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n return _this;\n }\n InitializeCanvasBoundsCommand.prototype.execute = function (context) {\n this.oldCanvasBounds = context.root.canvasBounds;\n this.newCanvasBounds = this.action.newCanvasBounds;\n context.root.canvasBounds = this.newCanvasBounds;\n return context.root;\n };\n InitializeCanvasBoundsCommand.prototype.undo = function (context) {\n return context.root;\n };\n InitializeCanvasBoundsCommand.prototype.redo = function (context) {\n return context.root;\n };\n InitializeCanvasBoundsCommand.KIND = 'initializeCanvasBounds';\n return InitializeCanvasBoundsCommand;\n}(command_1.SystemCommand));\nexports.InitializeCanvasBoundsCommand = InitializeCanvasBoundsCommand;\n//# sourceMappingURL=initialize-canvas.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/features/initialize-canvas.js\n// module id = 60\n// module chunks = 0","\"use strict\";\n/*\n* Copyright (C) 2017 TypeFox and others.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar model_1 = require(\"./model\");\nvar inversify_1 = require(\"inversify\");\n/**\n * Sent from the client to the model source to recalculate a diagram when elements\n * are collapsed/expanded by the client.\n */\nvar CollapseExpandAction = /** @class */ (function () {\n function CollapseExpandAction(expandIds, collapseIds) {\n this.expandIds = expandIds;\n this.collapseIds = collapseIds;\n this.kind = CollapseExpandAction.KIND;\n }\n CollapseExpandAction.KIND = 'collapseExpand';\n return CollapseExpandAction;\n}());\nexports.CollapseExpandAction = CollapseExpandAction;\n/**\n * Programmatic action for expanding or collapsing all elements.\n */\nvar CollapseExpandAllAction = /** @class */ (function () {\n /**\n * If `expand` is true, all elements are expanded, othewise they are collapsed.\n */\n function CollapseExpandAllAction(expand) {\n if (expand === void 0) { expand = true; }\n this.expand = expand;\n this.kind = CollapseExpandAllAction.KIND;\n }\n CollapseExpandAllAction.KIND = 'collapseExpandAll';\n return CollapseExpandAllAction;\n}());\nexports.CollapseExpandAllAction = CollapseExpandAllAction;\nvar ExpandButtonHandler = /** @class */ (function () {\n function ExpandButtonHandler() {\n }\n ExpandButtonHandler.prototype.buttonPressed = function (button) {\n var expandable = smodel_utils_1.findParentByFeature(button, model_1.isExpandable);\n if (expandable !== undefined) {\n return [new CollapseExpandAction(expandable.expanded ? [] : [expandable.id], expandable.expanded ? [expandable.id] : [])];\n }\n else {\n return [];\n }\n };\n ExpandButtonHandler.TYPE = 'button:expand';\n ExpandButtonHandler = __decorate([\n inversify_1.injectable()\n ], ExpandButtonHandler);\n return ExpandButtonHandler;\n}());\nexports.ExpandButtonHandler = ExpandButtonHandler;\n//# sourceMappingURL=expand.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/expand/expand.js\n// module id = 61\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.exportFeature = Symbol('exportFeature');\nfunction isExportable(element) {\n return element.hasFeature(exports.exportFeature) && element['export'] !== undefined;\n}\nexports.isExportable = isExportable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/export/model.js\n// module id = 62\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hoverFeedbackFeature = Symbol('hoverFeedbackFeature');\nfunction isHoverable(element) {\n return element.hasFeature(exports.hoverFeedbackFeature);\n}\nexports.isHoverable = isHoverable;\nexports.popupFeature = Symbol('popupFeature');\nfunction hasPopupFeature(element) {\n return element.hasFeature(exports.popupFeature);\n}\nexports.hasPopupFeature = hasPopupFeature;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/hover/model.js\n// module id = 63\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar smodel_2 = require(\"../../base/model/smodel\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar command_1 = require(\"../../base/commands/command\");\nvar animation_1 = require(\"../../base/animations/animation\");\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar vnode_utils_1 = require(\"../../base/views/vnode-utils\");\nvar model_1 = require(\"../viewport/model\");\nvar model_2 = require(\"../select/model\");\nvar model_3 = require(\"./model\");\nvar model_4 = require(\"../bounds/model\");\nvar inversify_1 = require(\"inversify\");\nvar MoveAction = /** @class */ (function () {\n function MoveAction(moves, animate) {\n if (animate === void 0) { animate = true; }\n this.moves = moves;\n this.animate = animate;\n this.kind = MoveCommand.KIND;\n }\n return MoveAction;\n}());\nexports.MoveAction = MoveAction;\nvar MoveCommand = /** @class */ (function (_super) {\n __extends(MoveCommand, _super);\n function MoveCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n _this.resolvedMoves = new Map;\n return _this;\n }\n MoveCommand.prototype.execute = function (context) {\n var _this = this;\n var model = context.root;\n this.action.moves.forEach(function (move) {\n var resolvedMove = _this.resolve(move, model.index);\n if (resolvedMove) {\n _this.resolvedMoves.set(resolvedMove.elementId, resolvedMove);\n if (!_this.action.animate) {\n resolvedMove.element.position = move.toPosition;\n }\n }\n });\n if (this.action.animate)\n return new MoveAnimation(model, this.resolvedMoves, context, false).start();\n else\n return model;\n };\n MoveCommand.prototype.resolve = function (move, index) {\n var element = index.getById(move.elementId);\n if (element) {\n var fromPosition = move.fromPosition || { x: element.position.x, y: element.position.y };\n return {\n fromPosition: fromPosition,\n elementId: move.elementId,\n element: element,\n toPosition: move.toPosition\n };\n }\n return undefined;\n };\n MoveCommand.prototype.undo = function (context) {\n return new MoveAnimation(context.root, this.resolvedMoves, context, true).start();\n };\n MoveCommand.prototype.redo = function (context) {\n return new MoveAnimation(context.root, this.resolvedMoves, context, false).start();\n };\n MoveCommand.prototype.merge = function (command, context) {\n var _this = this;\n if (!this.action.animate && command instanceof MoveCommand) {\n command.action.moves.forEach(function (otherMove) {\n var existingMove = _this.resolvedMoves.get(otherMove.elementId);\n if (existingMove) {\n existingMove.toPosition = otherMove.toPosition;\n }\n else {\n var resolvedMove = _this.resolve(otherMove, context.root.index);\n if (resolvedMove)\n _this.resolvedMoves.set(resolvedMove.elementId, resolvedMove);\n }\n });\n return true;\n }\n return false;\n };\n MoveCommand.KIND = 'move';\n return MoveCommand;\n}(command_1.MergeableCommand));\nexports.MoveCommand = MoveCommand;\nvar MoveAnimation = /** @class */ (function (_super) {\n __extends(MoveAnimation, _super);\n function MoveAnimation(model, elementMoves, context, reverse) {\n if (reverse === void 0) { reverse = false; }\n var _this = _super.call(this, context) || this;\n _this.model = model;\n _this.elementMoves = elementMoves;\n _this.reverse = reverse;\n return _this;\n }\n MoveAnimation.prototype.tween = function (t) {\n var _this = this;\n this.elementMoves.forEach(function (elementMove) {\n if (_this.reverse) {\n elementMove.element.position = {\n x: (1 - t) * elementMove.toPosition.x + t * elementMove.fromPosition.x,\n y: (1 - t) * elementMove.toPosition.y + t * elementMove.fromPosition.y\n };\n }\n else {\n elementMove.element.position = {\n x: (1 - t) * elementMove.fromPosition.x + t * elementMove.toPosition.x,\n y: (1 - t) * elementMove.fromPosition.y + t * elementMove.toPosition.y\n };\n }\n });\n return this.model;\n };\n return MoveAnimation;\n}(animation_1.Animation));\nexports.MoveAnimation = MoveAnimation;\nvar MoveMouseListener = /** @class */ (function (_super) {\n __extends(MoveMouseListener, _super);\n function MoveMouseListener() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hasDragged = false;\n return _this;\n }\n MoveMouseListener.prototype.mouseDown = function (target, event) {\n if (event.button === 0) {\n if (model_3.isMoveable(target)) {\n this.lastDragPosition = { x: event.pageX, y: event.pageY };\n }\n else {\n this.lastDragPosition = undefined;\n }\n this.hasDragged = false;\n }\n return [];\n };\n MoveMouseListener.prototype.mouseMove = function (target, event) {\n if (event.buttons === 0)\n this.mouseUp(target, event);\n else if (this.lastDragPosition) {\n var viewport = smodel_utils_1.findParentByFeature(target, model_1.isViewport);\n this.hasDragged = true;\n var zoom = viewport ? viewport.zoom : 1;\n var dx_1 = (event.pageX - this.lastDragPosition.x) / zoom;\n var dy_1 = (event.pageY - this.lastDragPosition.y) / zoom;\n var root = target.root;\n var nodeMoves_1 = [];\n root\n .index\n .all()\n .filter(function (element) { return model_2.isSelectable(element) && element.selected; })\n .forEach(function (element) {\n if (model_3.isMoveable(element)) {\n nodeMoves_1.push({\n elementId: element.id,\n toPosition: {\n x: element.position.x + dx_1,\n y: element.position.y + dy_1\n }\n });\n }\n });\n this.lastDragPosition = { x: event.pageX, y: event.pageY };\n if (nodeMoves_1.length > 0)\n return [new MoveAction(nodeMoves_1, false)];\n }\n return [];\n };\n MoveMouseListener.prototype.mouseEnter = function (target, event) {\n if (target instanceof smodel_2.SModelRoot && event.buttons === 0)\n this.mouseUp(target, event);\n return [];\n };\n MoveMouseListener.prototype.mouseUp = function (target, event) {\n this.hasDragged = false;\n this.lastDragPosition = undefined;\n return [];\n };\n MoveMouseListener.prototype.decorate = function (vnode, element) {\n return vnode;\n };\n return MoveMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.MoveMouseListener = MoveMouseListener;\nvar LocationDecorator = /** @class */ (function () {\n function LocationDecorator() {\n }\n LocationDecorator.prototype.decorate = function (vnode, element) {\n var translate = '';\n if (model_3.isLocateable(element) && element instanceof smodel_1.SChildElement && element.parent !== undefined) {\n translate = 'translate(' + element.position.x + ', ' + element.position.y + ')';\n }\n if (model_4.isAlignable(element)) {\n if (translate.length > 0)\n translate += ' ';\n translate += 'translate(' + element.alignment.x + ', ' + element.alignment.y + ')';\n }\n if (translate.length > 0)\n vnode_utils_1.setAttr(vnode, 'transform', translate);\n return vnode;\n };\n LocationDecorator.prototype.postUpdate = function () {\n };\n LocationDecorator = __decorate([\n inversify_1.injectable()\n ], LocationDecorator);\n return LocationDecorator;\n}());\nexports.LocationDecorator = LocationDecorator;\n//# sourceMappingURL=move.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/move/move.js\n// module id = 64\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Returns whether the mouse or keyboard event includes the CMD key\n * on Mac or CTRL key on Linux / others\n */\nfunction isCtrlOrCmd(event) {\n if (isMac())\n return event.metaKey;\n else\n return event.ctrlKey;\n}\nexports.isCtrlOrCmd = isCtrlOrCmd;\nfunction isMac() {\n return window.navigator.userAgent.indexOf(\"Mac\") !== -1;\n}\nexports.isMac = isMac;\nfunction isCrossSite(url) {\n if (url && typeof window !== 'undefined' && window.location) {\n var baseURL = '';\n if (window.location.protocol)\n baseURL += window.location.protocol + '//';\n if (window.location.host)\n baseURL += window.location.host;\n return baseURL.length > 0 && !url.startsWith(baseURL);\n }\n return false;\n}\nexports.isCrossSite = isCrossSite;\n//# sourceMappingURL=browser.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/utils/browser.js\n// module id = 65\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_an-instance.js\n// module id = 66\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_classof.js\n// module id = 67\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_dom-create.js\n// module id = 68\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-bug-keys.js\n// module id = 69\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_fails-is-regexp.js\n// module id = 70\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_for-of.js\n// module id = 71\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = (!BUGGY && $native) || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-define.js\n// module id = 72\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_meta.js\n// module id = 73\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-create.js\n// module id = 74\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-pie.js\n// module id = 75\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_redefine-all.js\n// module id = 76\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared-key.js\n// module id = 77\n// module chunks = 0","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_shared.js\n// module id = 78\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-context.js\n// module id = 79\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-primitive.js\n// module id = 80\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.object.to-string.js\n// module id = 81\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.iterator.js\n// module id = 82\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_when_syntax_1 = require(\"./binding_when_syntax\");\nvar BindingOnSyntax = (function () {\n function BindingOnSyntax(binding) {\n this._binding = binding;\n }\n BindingOnSyntax.prototype.onActivation = function (handler) {\n this._binding.onActivation = handler;\n return new binding_when_syntax_1.BindingWhenSyntax(this._binding);\n };\n return BindingOnSyntax;\n}());\nexports.BindingOnSyntax = BindingOnSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_on_syntax.js\n// module id = 83\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_on_syntax_1 = require(\"./binding_on_syntax\");\nvar constraint_helpers_1 = require(\"./constraint_helpers\");\nvar BindingWhenSyntax = (function () {\n function BindingWhenSyntax(binding) {\n this._binding = binding;\n }\n BindingWhenSyntax.prototype.when = function (constraint) {\n this._binding.constraint = constraint;\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenTargetNamed = function (name) {\n this._binding.constraint = constraint_helpers_1.namedConstraint(name);\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenTargetIsDefault = function () {\n this._binding.constraint = function (request) {\n var targetIsDefault = (request.target !== null) &&\n (!request.target.isNamed()) &&\n (!request.target.isTagged());\n return targetIsDefault;\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenTargetTagged = function (tag, value) {\n this._binding.constraint = constraint_helpers_1.taggedConstraint(tag)(value);\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenInjectedInto = function (parent) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.typeConstraint(parent)(request.parentRequest);\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenParentNamed = function (name) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.namedConstraint(name)(request.parentRequest);\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenParentTagged = function (tag, value) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.taggedConstraint(tag)(value)(request.parentRequest);\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.typeConstraint(ancestor));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenNoAncestorIs = function (ancestor) {\n this._binding.constraint = function (request) {\n return !constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.typeConstraint(ancestor));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenAnyAncestorNamed = function (name) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.namedConstraint(name));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenNoAncestorNamed = function (name) {\n this._binding.constraint = function (request) {\n return !constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.namedConstraint(name));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.taggedConstraint(tag)(value));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\n this._binding.constraint = function (request) {\n return !constraint_helpers_1.traverseAncerstors(request, constraint_helpers_1.taggedConstraint(tag)(value));\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\n this._binding.constraint = function (request) {\n return constraint_helpers_1.traverseAncerstors(request, constraint);\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n BindingWhenSyntax.prototype.whenNoAncestorMatches = function (constraint) {\n this._binding.constraint = function (request) {\n return !constraint_helpers_1.traverseAncerstors(request, constraint);\n };\n return new binding_on_syntax_1.BindingOnSyntax(this._binding);\n };\n return BindingWhenSyntax;\n}());\nexports.BindingWhenSyntax = BindingWhenSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_when_syntax.js\n// module id = 84\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar smodel_factory_1 = require(\"../model/smodel-factory\");\nvar animation_frame_syncer_1 = require(\"../animations/animation-frame-syncer\");\nvar set_model_1 = require(\"../features/set-model\");\nvar undo_redo_1 = require(\"../../features/undo-redo/undo-redo\");\nvar action_1 = require(\"./action\");\nvar action_handler_1 = require(\"./action-handler\");\n/**\n * Collects actions, converts them to commands and dispatches them.\n * Also acts as the proxy to model sources such as diagram servers.\n */\nvar ActionDispatcher = /** @class */ (function () {\n function ActionDispatcher(actionHandlerRegistry, commandStack, logger, syncer) {\n this.actionHandlerRegistry = actionHandlerRegistry;\n this.commandStack = commandStack;\n this.logger = logger;\n this.syncer = syncer;\n this.postponedActions = [];\n var initialCommand = new set_model_1.SetModelCommand(new set_model_1.SetModelAction(smodel_factory_1.EMPTY_ROOT, true));\n this.blockUntilActionKind = initialCommand.blockUntilActionKind;\n this.commandStack.execute(initialCommand);\n }\n ActionDispatcher.prototype.dispatchAll = function (actions) {\n var _this = this;\n actions.forEach(function (action) { return _this.dispatch(action); });\n };\n ActionDispatcher.prototype.dispatch = function (action, onExecute) {\n var _this = this;\n if (action.kind === this.blockUntilActionKind) {\n this.blockUntilActionKind = undefined;\n this.handleAction(action);\n var actions = this.postponedActions;\n this.postponedActions = [];\n actions.forEach(function (a) { return _this.dispatch(a.action, a.onExecute); });\n return;\n }\n if (this.blockUntilActionKind !== undefined) {\n this.logger.log(this, 'waiting for ' + this.blockUntilActionKind + '. postponing', action);\n this.postponedActions.push({\n action: action,\n onExecute: onExecute\n });\n return;\n }\n if (onExecute !== undefined)\n onExecute.call(null, action);\n if (action.kind === undo_redo_1.UndoAction.KIND) {\n this.commandStack.undo();\n }\n else if (action.kind === undo_redo_1.RedoAction.KIND) {\n this.commandStack.redo();\n }\n else {\n this.handleAction(action);\n }\n };\n ActionDispatcher.prototype.handleAction = function (action) {\n this.logger.log(this, 'handle', action);\n var handlers = this.actionHandlerRegistry.get(action.kind);\n if (handlers.length > 0) {\n for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n var handler = handlers_1[_i];\n var result = handler.handle(action);\n if (action_1.isAction(result))\n this.dispatch(result);\n else if (result !== undefined) {\n this.commandStack.execute(result);\n this.blockUntilActionKind = result.blockUntilActionKind;\n }\n }\n }\n else {\n this.logger.warn(this, 'missing handler for action', action);\n }\n };\n ActionDispatcher = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ActionHandlerRegistry)),\n __param(1, inversify_1.inject(types_1.TYPES.ICommandStack)),\n __param(2, inversify_1.inject(types_1.TYPES.ILogger)),\n __param(3, inversify_1.inject(types_1.TYPES.AnimationFrameSyncer)),\n __metadata(\"design:paramtypes\", [action_handler_1.ActionHandlerRegistry, Object, Object, animation_frame_syncer_1.AnimationFrameSyncer])\n ], ActionDispatcher);\n return ActionDispatcher;\n}());\nexports.ActionDispatcher = ActionDispatcher;\n//# sourceMappingURL=action-dispatcher.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/actions/action-dispatcher.js\n// module id = 85\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isAction(object) {\n return object !== undefined && object.hasOwnProperty('kind') && typeof (object['kind']) === 'string';\n}\nexports.isAction = isAction;\n//# sourceMappingURL=action.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/actions/action.js\n// module id = 86\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar smodel_factory_1 = require(\"./smodel-factory\");\nvar SModelStorage = /** @class */ (function () {\n function SModelStorage() {\n this.localCache = new Map;\n }\n SModelStorage.prototype.store = function (root) {\n if (this.isLocalStorageAvailable())\n localStorage.setItem(this.key, JSON.stringify(root));\n else\n this.localCache.set(this.key, JSON.stringify(root));\n };\n SModelStorage.prototype.load = function () {\n var schema = (this.isLocalStorageAvailable())\n ? localStorage.getItem(this.key)\n : this.localCache.get(this.key);\n if (schema)\n return JSON.parse(schema);\n else\n return smodel_factory_1.EMPTY_ROOT;\n };\n SModelStorage.prototype.isLocalStorageAvailable = function () {\n try {\n return typeof localStorage === 'object' && localStorage !== null;\n }\n catch (e) {\n return false;\n }\n };\n Object.defineProperty(SModelStorage.prototype, \"key\", {\n get: function () {\n return this.viewerOptions.baseDiv;\n },\n enumerable: true,\n configurable: true\n });\n __decorate([\n inversify_1.inject(types_1.TYPES.ViewerOptions),\n __metadata(\"design:type\", Object)\n ], SModelStorage.prototype, \"viewerOptions\", void 0);\n SModelStorage = __decorate([\n inversify_1.injectable()\n ], SModelStorage);\n return SModelStorage;\n}());\nexports.SModelStorage = SModelStorage;\n//# sourceMappingURL=smodel-storage.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/model/smodel-storage.js\n// module id = 87\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar DOMHelper = /** @class */ (function () {\n function DOMHelper(viewerOptions) {\n this.viewerOptions = viewerOptions;\n }\n DOMHelper.prototype.getPrefix = function () {\n var prefix = this.viewerOptions !== undefined && this.viewerOptions.baseDiv !== undefined ?\n this.viewerOptions.baseDiv + \"_\" : \"\";\n return prefix;\n };\n DOMHelper.prototype.createUniqueDOMElementId = function (element) {\n return this.getPrefix() + element.id;\n };\n DOMHelper.prototype.findSModelIdByDOMElement = function (element) {\n return element.id.replace(this.getPrefix(), '');\n };\n DOMHelper = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __metadata(\"design:paramtypes\", [Object])\n ], DOMHelper);\n return DOMHelper;\n}());\nexports.DOMHelper = DOMHelper;\n//# sourceMappingURL=dom-helper.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/dom-helper.js\n// module id = 88\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar model_1 = require(\"./model\");\nvar AbstractLayout = /** @class */ (function () {\n function AbstractLayout() {\n }\n AbstractLayout.prototype.layout = function (container, layouter) {\n var boundsData = layouter.getBoundsData(container);\n var options = this.getLayoutOptions(container);\n var childrenSize = this.getChildrenSize(container, options, layouter);\n var maxWidth = options.paddingFactor * (options.resizeContainer\n ? childrenSize.width\n : Math.max(0, this.getFixedContainerBounds(container, options, layouter).width) - options.paddingLeft - options.paddingRight);\n var maxHeight = options.paddingFactor * (options.resizeContainer\n ? childrenSize.height\n : Math.max(0, this.getFixedContainerBounds(container, options, layouter).height) - options.paddingTop - options.paddingBottom);\n if (maxWidth > 0 && maxHeight > 0) {\n var offset = this.layoutChildren(container, layouter, options, maxWidth, maxHeight);\n boundsData.bounds = this.getFinalContainerBounds(container, offset, options, maxWidth, maxHeight);\n boundsData.boundsChanged = true;\n }\n };\n AbstractLayout.prototype.getFinalContainerBounds = function (container, lastOffset, options, maxWidth, maxHeight) {\n return {\n x: container.bounds.x,\n y: container.bounds.y,\n width: maxWidth + options.paddingLeft + options.paddingRight,\n height: maxHeight + options.paddingTop + options.paddingBottom\n };\n };\n AbstractLayout.prototype.getFixedContainerBounds = function (container, layoutOptions, layouter) {\n var currentContainer = container;\n while (true) {\n if (model_1.isBoundsAware(currentContainer)) {\n var bounds = currentContainer.bounds;\n if (model_1.isLayoutContainer(currentContainer) && layoutOptions.resizeContainer)\n layouter.log.error(currentContainer, 'Resizable container found while detecting fixed bounds');\n if (geometry_1.isValidDimension(bounds))\n return bounds;\n }\n if (currentContainer instanceof smodel_1.SChildElement) {\n currentContainer = currentContainer.parent;\n }\n else {\n layouter.log.error(currentContainer, 'Cannot detect fixed bounds');\n return geometry_1.EMPTY_BOUNDS;\n }\n }\n };\n AbstractLayout.prototype.layoutChildren = function (container, layouter, containerOptions, maxWidth, maxHeight) {\n var _this = this;\n var currentOffset = {\n x: containerOptions.paddingLeft + 0.5 * (maxWidth - (maxWidth / containerOptions.paddingFactor)),\n y: containerOptions.paddingTop + 0.5 * (maxHeight - (maxHeight / containerOptions.paddingFactor))\n };\n container.children.forEach(function (child) {\n if (model_1.isLayoutableChild(child)) {\n var boundsData = layouter.getBoundsData(child);\n var bounds = boundsData.bounds;\n var childOptions = _this.getChildLayoutOptions(child, containerOptions);\n if (bounds !== undefined && geometry_1.isValidDimension(bounds)) {\n currentOffset = _this.layoutChild(child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight);\n }\n }\n });\n return currentOffset;\n };\n AbstractLayout.prototype.getDx = function (hAlign, bounds, maxWidth) {\n switch (hAlign) {\n case 'left':\n return 0;\n case 'center':\n return 0.5 * (maxWidth - bounds.width);\n case 'right':\n return maxWidth - bounds.width;\n }\n };\n AbstractLayout.prototype.getDy = function (vAlign, bounds, maxHeight) {\n switch (vAlign) {\n case 'top':\n return 0;\n case 'center':\n return 0.5 * (maxHeight - bounds.height);\n case 'bottom':\n return maxHeight - bounds.height;\n }\n };\n AbstractLayout.prototype.getChildLayoutOptions = function (child, containerOptions) {\n var layoutOptions = child.layoutOptions;\n if (layoutOptions === undefined)\n return containerOptions;\n else\n return this.spread(containerOptions, layoutOptions);\n };\n AbstractLayout.prototype.getLayoutOptions = function (element) {\n var _this = this;\n var current = element;\n var allOptions = [];\n while (current !== undefined) {\n var layoutOptions = current.layoutOptions;\n if (layoutOptions !== undefined)\n allOptions.push(layoutOptions);\n if (current instanceof smodel_1.SChildElement)\n current = current.parent;\n else\n break;\n }\n return allOptions.reverse().reduce(function (a, b) { return _this.spread(a, b); }, this.getDefaultLayoutOptions());\n };\n return AbstractLayout;\n}());\nexports.AbstractLayout = AbstractLayout;\n//# sourceMappingURL=abstract-layout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/abstract-layout.js\n// module id = 89\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar registry_1 = require(\"../../utils/registry\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar model_1 = require(\"./model\");\nvar vbox_layout_1 = require(\"./vbox-layout\");\nvar hbox_layout_1 = require(\"./hbox-layout\");\nvar stack_layout_1 = require(\"./stack-layout\");\nvar LayoutRegistry = /** @class */ (function (_super) {\n __extends(LayoutRegistry, _super);\n function LayoutRegistry() {\n var _this = _super.call(this) || this;\n _this.register(vbox_layout_1.VBoxLayouter.KIND, new vbox_layout_1.VBoxLayouter());\n _this.register(hbox_layout_1.HBoxLayouter.KIND, new hbox_layout_1.HBoxLayouter());\n _this.register(stack_layout_1.StackLayouter.KIND, new stack_layout_1.StackLayouter());\n return _this;\n }\n return LayoutRegistry;\n}(registry_1.InstanceRegistry));\nexports.LayoutRegistry = LayoutRegistry;\nvar Layouter = /** @class */ (function () {\n function Layouter(layoutRegistry, logger) {\n this.layoutRegistry = layoutRegistry;\n this.logger = logger;\n }\n Layouter.prototype.layout = function (element2boundsData) {\n new StatefulLayouter(element2boundsData, this.layoutRegistry, this.logger).layout();\n };\n Layouter = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.LayoutRegistry)),\n __param(1, inversify_1.inject(types_1.TYPES.ILogger)),\n __metadata(\"design:paramtypes\", [LayoutRegistry, Object])\n ], Layouter);\n return Layouter;\n}());\nexports.Layouter = Layouter;\nvar StatefulLayouter = /** @class */ (function () {\n function StatefulLayouter(element2boundsData, layoutRegistry, log) {\n var _this = this;\n this.element2boundsData = element2boundsData;\n this.layoutRegistry = layoutRegistry;\n this.log = log;\n this.toBeLayouted = [];\n element2boundsData.forEach(function (data, element) {\n if (model_1.isLayoutContainer(element))\n _this.toBeLayouted.push(element);\n });\n }\n StatefulLayouter.prototype.getBoundsData = function (element) {\n var boundsData = this.element2boundsData.get(element);\n var bounds = element.bounds;\n if (model_1.isLayoutContainer(element) && this.toBeLayouted.indexOf(element) >= 0) {\n bounds = this.doLayout(element);\n }\n if (!boundsData) {\n boundsData = {\n bounds: bounds,\n boundsChanged: false,\n alignmentChanged: false\n };\n this.element2boundsData.set(element, boundsData);\n }\n return boundsData;\n };\n StatefulLayouter.prototype.layout = function () {\n while (this.toBeLayouted.length > 0) {\n var element = this.toBeLayouted[0];\n this.doLayout(element);\n }\n };\n StatefulLayouter.prototype.doLayout = function (element) {\n var index = this.toBeLayouted.indexOf(element);\n if (index >= 0)\n this.toBeLayouted.splice(index, 1);\n var layout = this.layoutRegistry.get(element.layout);\n if (layout)\n layout.layout(element, this);\n var boundsData = this.element2boundsData.get(element);\n if (boundsData !== undefined && boundsData.bounds !== undefined) {\n return boundsData.bounds;\n }\n else {\n this.log.error(element, 'Layout failed');\n return geometry_1.EMPTY_BOUNDS;\n }\n };\n return StatefulLayouter;\n}());\nexports.StatefulLayouter = StatefulLayouter;\n//# sourceMappingURL=layout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/layout.js\n// module id = 90\n// module chunks = 0","\"use strict\";\n/*\n* Copyright (C) 2017 TypeFox and others.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar registry_1 = require(\"../../utils/registry\");\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar ButtonHandlerRegistry = /** @class */ (function (_super) {\n __extends(ButtonHandlerRegistry, _super);\n function ButtonHandlerRegistry(buttonHandlerFactories) {\n var _this = _super.call(this) || this;\n buttonHandlerFactories.forEach(function (factory) { return _this.register(factory.TYPE, new factory()); });\n return _this;\n }\n ButtonHandlerRegistry = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.multiInject(types_1.TYPES.IButtonHandler)), __param(0, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Array])\n ], ButtonHandlerRegistry);\n return ButtonHandlerRegistry;\n}(registry_1.InstanceRegistry));\nexports.ButtonHandlerRegistry = ButtonHandlerRegistry;\n//# sourceMappingURL=button-handler.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/button/button-handler.js\n// module id = 91\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar model_1 = require(\"../bounds/model\");\nvar model_2 = require(\"../fade/model\");\nvar SButton = /** @class */ (function (_super) {\n __extends(SButton, _super);\n function SButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.enabled = true;\n return _this;\n }\n SButton.prototype.hasFeature = function (feature) {\n return feature === model_1.boundsFeature || feature === model_2.fadeFeature || feature === model_1.layoutableChildFeature;\n };\n return SButton;\n}(model_1.SShapeElement));\nexports.SButton = SButton;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/button/model.js\n// module id = 92\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.expandFeature = Symbol('expandFeature');\nfunction isExpandable(element) {\n return 'expanded' in element && element.hasFeature(exports.expandFeature);\n}\nexports.isExpandable = isExpandable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/expand/model.js\n// module id = 93\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar animation_1 = require(\"../../base/animations/animation\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar vnode_utils_1 = require(\"../../base/views/vnode-utils\");\nvar model_1 = require(\"./model\");\nvar FadeAnimation = /** @class */ (function (_super) {\n __extends(FadeAnimation, _super);\n function FadeAnimation(model, elementFades, context, removeAfterFadeOut) {\n if (removeAfterFadeOut === void 0) { removeAfterFadeOut = false; }\n var _this = _super.call(this, context) || this;\n _this.model = model;\n _this.elementFades = elementFades;\n _this.removeAfterFadeOut = removeAfterFadeOut;\n return _this;\n }\n FadeAnimation.prototype.tween = function (t, context) {\n for (var _i = 0, _a = this.elementFades; _i < _a.length; _i++) {\n var elementFade = _a[_i];\n var element = elementFade.element;\n if (elementFade.type === 'in') {\n element.opacity = t;\n }\n else if (elementFade.type === 'out') {\n element.opacity = 1 - t;\n if (t === 1 && this.removeAfterFadeOut && element instanceof smodel_1.SChildElement) {\n element.parent.remove(element);\n }\n }\n }\n return this.model;\n };\n return FadeAnimation;\n}(animation_1.Animation));\nexports.FadeAnimation = FadeAnimation;\nvar ElementFader = /** @class */ (function () {\n function ElementFader() {\n }\n ElementFader.prototype.decorate = function (vnode, element) {\n if (model_1.isFadeable(element)) {\n vnode_utils_1.setAttr(vnode, 'opacity', element.opacity);\n }\n return vnode;\n };\n ElementFader.prototype.postUpdate = function () {\n };\n ElementFader = __decorate([\n inversify_1.injectable()\n ], ElementFader);\n return ElementFader;\n}());\nexports.ElementFader = ElementFader;\n//# sourceMappingURL=fade.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/fade/fade.js\n// module id = 94\n// module chunks = 0","\"use strict\";\n/*\n* Copyright (C) 2017 TypeFox and others.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar model_1 = require(\"./model\");\nvar OpenAction = /** @class */ (function () {\n function OpenAction(elementId) {\n this.elementId = elementId;\n this.kind = OpenAction.KIND;\n }\n OpenAction.KIND = 'open';\n return OpenAction;\n}());\nexports.OpenAction = OpenAction;\nvar OpenMouseListener = /** @class */ (function (_super) {\n __extends(OpenMouseListener, _super);\n function OpenMouseListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OpenMouseListener.prototype.doubleClick = function (target, event) {\n var openableTarget = smodel_utils_1.findParentByFeature(target, model_1.isOpenable);\n if (openableTarget !== undefined) {\n return [new OpenAction(openableTarget.id)];\n }\n return [];\n };\n return OpenMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.OpenMouseListener = OpenMouseListener;\n//# sourceMappingURL=open.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/open/open.js\n// module id = 95\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar browser_1 = require(\"../../utils/browser\");\nvar key_tool_1 = require(\"../../base/views/key-tool\");\nvar UndoAction = /** @class */ (function () {\n function UndoAction() {\n this.kind = UndoAction.KIND;\n }\n UndoAction.KIND = 'undo';\n return UndoAction;\n}());\nexports.UndoAction = UndoAction;\nvar RedoAction = /** @class */ (function () {\n function RedoAction() {\n this.kind = RedoAction.KIND;\n }\n RedoAction.KIND = 'redo';\n return RedoAction;\n}());\nexports.RedoAction = RedoAction;\nvar UndoRedoKeyListener = /** @class */ (function (_super) {\n __extends(UndoRedoKeyListener, _super);\n function UndoRedoKeyListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UndoRedoKeyListener.prototype.keyDown = function (element, event) {\n if (browser_1.isCtrlOrCmd(event) && event.keyCode === 90) {\n if (event.shiftKey)\n return [new RedoAction];\n else\n return [new UndoAction];\n }\n return [];\n };\n return UndoRedoKeyListener;\n}(key_tool_1.KeyListener));\nexports.UndoRedoKeyListener = UndoRedoKeyListener;\n//# sourceMappingURL=undo-redo.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/undo-redo/undo-redo.js\n// module id = 96\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar ModelMatcher = /** @class */ (function () {\n function ModelMatcher() {\n }\n ModelMatcher.prototype.match = function (left, right) {\n var result = {};\n this.matchLeft(left, result);\n this.matchRight(right, result);\n return result;\n };\n ModelMatcher.prototype.matchLeft = function (element, result, parentId) {\n var match = result[element.id];\n if (match !== undefined) {\n match.left = element;\n match.leftParentId = parentId;\n }\n else {\n match = {\n left: element,\n leftParentId: parentId\n };\n result[element.id] = match;\n }\n if (element.children !== undefined) {\n for (var _i = 0, _a = element.children; _i < _a.length; _i++) {\n var child = _a[_i];\n this.matchLeft(child, result, element.id);\n }\n }\n };\n ModelMatcher.prototype.matchRight = function (element, result, parentId) {\n var match = result[element.id];\n if (match !== undefined) {\n match.right = element;\n match.rightParentId = parentId;\n }\n else {\n match = {\n right: element,\n rightParentId: parentId\n };\n result[element.id] = match;\n }\n if (element.children !== undefined) {\n for (var _i = 0, _a = element.children; _i < _a.length; _i++) {\n var child = _a[_i];\n this.matchRight(child, result, element.id);\n }\n }\n };\n return ModelMatcher;\n}());\nexports.ModelMatcher = ModelMatcher;\nfunction applyMatches(root, matches) {\n var index;\n if (root instanceof smodel_1.SModelRoot) {\n index = root.index;\n }\n else {\n index = new smodel_1.SModelIndex();\n index.add(root);\n }\n for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) {\n var match = matches_1[_i];\n var newElementInserted = false;\n if (match.left !== undefined && match.leftParentId !== undefined) {\n var parent_1 = index.getById(match.leftParentId);\n if (parent_1 !== undefined && parent_1.children !== undefined) {\n var i = parent_1.children.indexOf(match.left);\n if (i >= 0) {\n if (match.right !== undefined && match.leftParentId === match.rightParentId) {\n parent_1.children.splice(i, 1, match.right);\n newElementInserted = true;\n }\n else {\n parent_1.children.splice(i, 1);\n }\n }\n index.remove(match.left);\n }\n }\n if (!newElementInserted && match.right !== undefined && match.rightParentId !== undefined) {\n var parent_2 = index.getById(match.rightParentId);\n if (parent_2 !== undefined) {\n if (parent_2.children === undefined)\n parent_2.children = [];\n parent_2.children.push(match.right);\n }\n }\n }\n}\nexports.applyMatches = applyMatches;\n//# sourceMappingURL=model-matching.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/update/model-matching.js\n// module id = 97\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar animation_1 = require(\"../../base/animations/animation\");\nvar command_1 = require(\"../../base/commands/command\");\nvar fade_1 = require(\"../fade/fade\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar move_1 = require(\"../move/move\");\nvar model_1 = require(\"../fade/model\");\nvar model_2 = require(\"../move/model\");\nvar model_3 = require(\"../bounds/model\");\nvar viewport_root_1 = require(\"../viewport/viewport-root\");\nvar model_4 = require(\"../select/model\");\nvar model_matching_1 = require(\"./model-matching\");\nvar resize_1 = require(\"../bounds/resize\");\n/**\n * Sent from the model source to the client in order to update the model. If no model is present yet,\n * this behaves the same as a SetModelAction. The transition from the old model to the new one can be animated.\n */\nvar UpdateModelAction = /** @class */ (function () {\n function UpdateModelAction(newRoot) {\n this.newRoot = newRoot;\n this.kind = UpdateModelCommand.KIND;\n this.animate = true;\n }\n return UpdateModelAction;\n}());\nexports.UpdateModelAction = UpdateModelAction;\nvar UpdateModelCommand = /** @class */ (function (_super) {\n __extends(UpdateModelCommand, _super);\n function UpdateModelCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n if (action.animate === undefined)\n action.animate = true;\n return _this;\n }\n UpdateModelCommand.prototype.execute = function (context) {\n var newRoot;\n if (this.action.newRoot !== undefined) {\n newRoot = context.modelFactory.createRoot(this.action.newRoot);\n }\n else {\n newRoot = context.modelFactory.createRoot(context.root);\n if (this.action.matches !== undefined)\n this.applyMatches(newRoot, this.action.matches, context);\n }\n this.oldRoot = context.root;\n this.newRoot = newRoot;\n return this.performUpdate(this.oldRoot, this.newRoot, context);\n };\n UpdateModelCommand.prototype.performUpdate = function (oldRoot, newRoot, context) {\n if (this.action.animate && oldRoot.id === newRoot.id) {\n var matchResult = void 0;\n if (this.action.matches === undefined) {\n var matcher = new model_matching_1.ModelMatcher();\n matchResult = matcher.match(oldRoot, newRoot);\n }\n else {\n matchResult = this.convertToMatchResult(this.action.matches, oldRoot, newRoot);\n }\n var animationOrRoot = this.computeAnimation(newRoot, matchResult, context);\n if (animationOrRoot instanceof animation_1.Animation)\n return animationOrRoot.start();\n else\n return animationOrRoot;\n }\n else {\n newRoot.canvasBounds = oldRoot.canvasBounds;\n return newRoot;\n }\n };\n UpdateModelCommand.prototype.applyMatches = function (root, matches, context) {\n var index = root.index;\n for (var _i = 0, matches_1 = matches; _i < matches_1.length; _i++) {\n var match = matches_1[_i];\n if (match.left !== undefined) {\n var element = index.getById(match.left.id);\n if (element instanceof smodel_1.SChildElement)\n element.parent.remove(element);\n }\n if (match.right !== undefined) {\n var element = context.modelFactory.createElement(match.right);\n var parent_1 = void 0;\n if (match.rightParentId !== undefined)\n parent_1 = index.getById(match.rightParentId);\n if (parent_1 instanceof smodel_1.SParentElement)\n parent_1.add(element);\n else\n root.add(element);\n }\n }\n };\n UpdateModelCommand.prototype.convertToMatchResult = function (matches, leftRoot, rightRoot) {\n var result = {};\n for (var _i = 0, matches_2 = matches; _i < matches_2.length; _i++) {\n var match = matches_2[_i];\n var converted = {};\n var id = undefined;\n if (match.left !== undefined) {\n id = match.left.id;\n converted.left = leftRoot.index.getById(id);\n converted.leftParentId = match.leftParentId;\n }\n if (match.right !== undefined) {\n id = match.right.id;\n converted.right = rightRoot.index.getById(id);\n converted.rightParentId = match.rightParentId;\n }\n if (id !== undefined)\n result[id] = converted;\n }\n return result;\n };\n UpdateModelCommand.prototype.computeAnimation = function (newRoot, matchResult, context) {\n var animationData = {\n fades: []\n };\n for (var id in matchResult) {\n var match = matchResult[id];\n if (match.left !== undefined && match.right !== undefined) {\n // The element is still there, but may have been moved\n this.updateElement(match.left, match.right, animationData);\n }\n else if (match.right !== undefined) {\n // An element has been added\n var right = match.right;\n if (model_1.isFadeable(right)) {\n right.opacity = 0;\n animationData.fades.push({\n element: right,\n type: 'in'\n });\n }\n }\n else if (match.left instanceof smodel_1.SChildElement) {\n // An element has been removed\n var left = match.left;\n if (model_1.isFadeable(left) && match.leftParentId !== undefined) {\n if (newRoot.index.getById(left.id) === undefined) {\n var parent_2 = newRoot.index.getById(match.leftParentId);\n if (parent_2 instanceof smodel_1.SParentElement) {\n var leftCopy = context.modelFactory.createElement(left);\n parent_2.add(leftCopy);\n animationData.fades.push({\n element: leftCopy,\n type: 'out'\n });\n }\n }\n }\n }\n }\n var animations = this.createAnimations(animationData, newRoot, context);\n if (animations.length >= 2) {\n return new animation_1.CompoundAnimation(newRoot, context, animations);\n }\n else if (animations.length === 1) {\n return animations[0];\n }\n else {\n return newRoot;\n }\n };\n UpdateModelCommand.prototype.updateElement = function (left, right, animationData) {\n if (model_2.isLocateable(left) && model_2.isLocateable(right)) {\n var leftPos = left.position;\n var rightPos = right.position;\n if (!geometry_1.almostEquals(leftPos.x, rightPos.x) || !geometry_1.almostEquals(leftPos.y, rightPos.y)) {\n if (animationData.moves === undefined)\n animationData.moves = [];\n animationData.moves.push({\n element: right,\n elementId: right.id,\n fromPosition: leftPos,\n toPosition: rightPos\n });\n right.position = leftPos;\n }\n }\n if (model_3.isBoundsAware(left) && model_3.isBoundsAware(right)) {\n if (!geometry_1.isValidDimension(right.bounds)) {\n right.bounds = {\n x: right.bounds.x,\n y: right.bounds.y,\n width: left.bounds.width,\n height: left.bounds.height\n };\n }\n else if (!geometry_1.almostEquals(left.bounds.width, right.bounds.width)\n || !geometry_1.almostEquals(left.bounds.height, right.bounds.height)) {\n if (animationData.resizes === undefined)\n animationData.resizes = [];\n animationData.resizes.push({\n element: right,\n fromDimension: {\n width: left.bounds.width,\n height: left.bounds.height,\n },\n toDimension: {\n width: right.bounds.width,\n height: right.bounds.height,\n }\n });\n }\n }\n if (model_4.isSelectable(left) && model_4.isSelectable(right)) {\n right.selected = left.selected;\n }\n if (left instanceof smodel_1.SModelRoot && right instanceof smodel_1.SModelRoot) {\n right.canvasBounds = left.canvasBounds;\n }\n if (left instanceof viewport_root_1.ViewportRootElement && right instanceof viewport_root_1.ViewportRootElement) {\n right.scroll = left.scroll;\n right.zoom = left.zoom;\n }\n };\n UpdateModelCommand.prototype.createAnimations = function (data, root, context) {\n var animations = [];\n if (data.fades.length > 0) {\n animations.push(new fade_1.FadeAnimation(root, data.fades, context, true));\n }\n if (data.moves !== undefined && data.moves.length > 0) {\n var movesMap = new Map;\n for (var _i = 0, _a = data.moves; _i < _a.length; _i++) {\n var move = _a[_i];\n movesMap.set(move.elementId, move);\n }\n animations.push(new move_1.MoveAnimation(root, movesMap, context, false));\n }\n if (data.resizes !== undefined && data.resizes.length > 0) {\n var resizesMap = new Map;\n for (var _b = 0, _c = data.resizes; _b < _c.length; _b++) {\n var resize = _c[_b];\n resizesMap.set(resize.element.id, resize);\n }\n animations.push(new resize_1.ResizeAnimation(root, resizesMap, context, false));\n }\n return animations;\n };\n UpdateModelCommand.prototype.undo = function (context) {\n return this.performUpdate(this.newRoot, this.oldRoot, context);\n };\n UpdateModelCommand.prototype.redo = function (context) {\n return this.performUpdate(this.oldRoot, this.newRoot, context);\n };\n UpdateModelCommand.KIND = 'updateModel';\n UpdateModelCommand = __decorate([\n inversify_1.injectable(),\n __metadata(\"design:paramtypes\", [UpdateModelAction])\n ], UpdateModelCommand);\n return UpdateModelCommand;\n}(command_1.Command));\nexports.UpdateModelCommand = UpdateModelCommand;\n//# sourceMappingURL=update-model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/update/update-model.js\n// module id = 98\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar browser_1 = require(\"../../utils/browser\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar command_1 = require(\"../../base/commands/command\");\nvar key_tool_1 = require(\"../../base/views/key-tool\");\nvar model_1 = require(\"../bounds/model\");\nvar model_2 = require(\"../select/model\");\nvar viewport_1 = require(\"./viewport\");\nvar model_3 = require(\"./model\");\n/**\n * Triggered when the user requests the viewer to center on the current model. The resulting\n * CenterCommand changes the scroll setting of the viewport accordingly and resets the zoom to its default.\n * This action can also be sent from the model source to the client in order to perform such a\n * viewport change programmatically.\n */\nvar CenterAction = /** @class */ (function () {\n function CenterAction(elementIds, animate) {\n if (animate === void 0) { animate = true; }\n this.elementIds = elementIds;\n this.animate = animate;\n this.kind = CenterCommand.KIND;\n }\n return CenterAction;\n}());\nexports.CenterAction = CenterAction;\n/**\n * Triggered when the user requests the viewer to fit its content to the available drawing area.\n * The resulting FitToScreenCommand changes the zoom and scroll settings of the viewport so the model\n * can be shown completely. This action can also be sent from the model source to the client in order\n * to perform such a viewport change programmatically.\n */\nvar FitToScreenAction = /** @class */ (function () {\n function FitToScreenAction(elementIds, padding, maxZoom, animate) {\n if (animate === void 0) { animate = true; }\n this.elementIds = elementIds;\n this.padding = padding;\n this.maxZoom = maxZoom;\n this.animate = animate;\n this.kind = FitToScreenCommand.KIND;\n }\n return FitToScreenAction;\n}());\nexports.FitToScreenAction = FitToScreenAction;\nvar BoundsAwareViewportCommand = /** @class */ (function (_super) {\n __extends(BoundsAwareViewportCommand, _super);\n function BoundsAwareViewportCommand(animate) {\n var _this = _super.call(this) || this;\n _this.animate = animate;\n return _this;\n }\n BoundsAwareViewportCommand.prototype.initialize = function (model) {\n var _this = this;\n if (model_3.isViewport(model)) {\n this.oldViewport = {\n scroll: model.scroll,\n zoom: model.zoom\n };\n var allBounds_1 = [];\n this.getElementIds().forEach(function (id) {\n var element = model.index.getById(id);\n if (element && model_1.isBoundsAware(element))\n allBounds_1.push(_this.boundsInViewport(element, element.bounds, model));\n });\n if (allBounds_1.length === 0) {\n model.index.all().forEach(function (element) {\n if (model_2.isSelectable(element) && element.selected && model_1.isBoundsAware(element))\n allBounds_1.push(_this.boundsInViewport(element, element.bounds, model));\n });\n }\n if (allBounds_1.length === 0) {\n model.index.all().forEach(function (element) {\n if (model_1.isBoundsAware(element))\n allBounds_1.push(_this.boundsInViewport(element, element.bounds, model));\n });\n }\n var bounds = allBounds_1.reduce(function (b0, b1) { return b0 === undefined ? b1 : geometry_1.combine(b0, b1); }, undefined);\n if (geometry_1.isValidDimension(bounds))\n this.newViewport = this.getNewViewport(bounds, model);\n }\n };\n BoundsAwareViewportCommand.prototype.boundsInViewport = function (element, bounds, viewport) {\n if (element instanceof smodel_1.SChildElement && element.parent !== viewport)\n return this.boundsInViewport(element.parent, element.parent.localToParent(bounds), viewport);\n else\n return bounds;\n };\n BoundsAwareViewportCommand.prototype.execute = function (context) {\n this.initialize(context.root);\n return this.redo(context);\n };\n BoundsAwareViewportCommand.prototype.undo = function (context) {\n var model = context.root;\n if (model_3.isViewport(model) && this.newViewport && !this.equal(this.newViewport, this.oldViewport)) {\n if (this.animate)\n return new viewport_1.ViewportAnimation(model, this.newViewport, this.oldViewport, context).start();\n else {\n model.scroll = this.oldViewport.scroll;\n model.zoom = this.oldViewport.zoom;\n }\n }\n return model;\n };\n BoundsAwareViewportCommand.prototype.redo = function (context) {\n var model = context.root;\n if (model_3.isViewport(model) && this.newViewport && !this.equal(this.newViewport, this.oldViewport)) {\n if (this.animate) {\n return new viewport_1.ViewportAnimation(model, this.oldViewport, this.newViewport, context).start();\n }\n else {\n model.scroll = this.newViewport.scroll;\n model.zoom = this.newViewport.zoom;\n }\n }\n return model;\n };\n BoundsAwareViewportCommand.prototype.equal = function (vp1, vp2) {\n return vp1.zoom === vp2.zoom && vp1.scroll.x === vp2.scroll.x && vp1.scroll.y === vp2.scroll.y;\n };\n return BoundsAwareViewportCommand;\n}(command_1.Command));\nexports.BoundsAwareViewportCommand = BoundsAwareViewportCommand;\nvar CenterCommand = /** @class */ (function (_super) {\n __extends(CenterCommand, _super);\n function CenterCommand(action) {\n var _this = _super.call(this, action.animate) || this;\n _this.action = action;\n return _this;\n }\n CenterCommand.prototype.getElementIds = function () {\n return this.action.elementIds;\n };\n CenterCommand.prototype.getNewViewport = function (bounds, model) {\n var c = geometry_1.center(bounds);\n return {\n scroll: {\n x: c.x - 0.5 * model.canvasBounds.width,\n y: c.y - 0.5 * model.canvasBounds.height\n },\n zoom: 1\n };\n };\n CenterCommand.KIND = 'center';\n return CenterCommand;\n}(BoundsAwareViewportCommand));\nexports.CenterCommand = CenterCommand;\nvar FitToScreenCommand = /** @class */ (function (_super) {\n __extends(FitToScreenCommand, _super);\n function FitToScreenCommand(action) {\n var _this = _super.call(this, action.animate) || this;\n _this.action = action;\n return _this;\n }\n FitToScreenCommand.prototype.getElementIds = function () {\n return this.action.elementIds;\n };\n FitToScreenCommand.prototype.getNewViewport = function (bounds, model) {\n var c = geometry_1.center(bounds);\n var delta = this.action.padding === undefined\n ? 0\n : 2 * this.action.padding;\n var zoom = Math.min(model.canvasBounds.width / (bounds.width + delta), model.canvasBounds.height / bounds.height + delta);\n if (this.action.maxZoom !== undefined)\n zoom = Math.min(zoom, this.action.maxZoom);\n return {\n scroll: {\n x: c.x - 0.5 * model.canvasBounds.width / zoom,\n y: c.y - 0.5 * model.canvasBounds.height / zoom\n },\n zoom: zoom\n };\n };\n FitToScreenCommand.KIND = 'fit';\n return FitToScreenCommand;\n}(BoundsAwareViewportCommand));\nexports.FitToScreenCommand = FitToScreenCommand;\nvar CenterKeyboardListener = /** @class */ (function (_super) {\n __extends(CenterKeyboardListener, _super);\n function CenterKeyboardListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CenterKeyboardListener.prototype.keyDown = function (element, event) {\n if (browser_1.isCtrlOrCmd(event)) {\n switch (event.keyCode) {\n case 67:\n return [new CenterAction([])];\n case 70:\n return [new FitToScreenAction([])];\n }\n }\n return [];\n };\n return CenterKeyboardListener;\n}(key_tool_1.KeyListener));\nexports.CenterKeyboardListener = CenterKeyboardListener;\n//# sourceMappingURL=center-fit.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/center-fit.js\n// module id = 99\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar model_1 = require(\"./model\");\nvar model_2 = require(\"../export/model\");\n/**\n * Model root element that defines a viewport, so it transforms the coordinate system with\n * a `scroll` translation and a `zoom` scaling.\n */\nvar ViewportRootElement = /** @class */ (function (_super) {\n __extends(ViewportRootElement, _super);\n function ViewportRootElement() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.scroll = { x: 0, y: 0 };\n _this.zoom = 1;\n _this.export = false;\n return _this;\n }\n ViewportRootElement.prototype.hasFeature = function (feature) {\n return feature === model_1.viewportFeature || feature === model_2.exportFeature;\n };\n ViewportRootElement.prototype.localToParent = function (point) {\n var result = {\n x: (point.x - this.scroll.x) * this.zoom,\n y: (point.y - this.scroll.y) * this.zoom,\n width: -1,\n height: -1\n };\n if (geometry_1.isBounds(point)) {\n result.width = point.width * this.zoom;\n result.height = point.height * this.zoom;\n }\n return result;\n };\n ViewportRootElement.prototype.parentToLocal = function (point) {\n var result = {\n x: (point.x / this.zoom) + this.scroll.x,\n y: (point.y / this.zoom) + this.scroll.y,\n width: -1,\n height: -1\n };\n if (geometry_1.isBounds(point) && geometry_1.isValidDimension(point)) {\n result.width = point.width / this.zoom;\n result.height = point.height / this.zoom;\n }\n return result;\n };\n return ViewportRootElement;\n}(smodel_1.SModelRoot));\nexports.ViewportRootElement = ViewportRootElement;\n//# sourceMappingURL=viewport-root.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/viewport-root.js\n// module id = 100\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../base/model/smodel\");\nvar model_1 = require(\"../features/bounds/model\");\nvar model_2 = require(\"../features/fade/model\");\nvar model_3 = require(\"../features/hover/model\");\nvar model_4 = require(\"../features/move/model\");\nvar model_5 = require(\"../features/select/model\");\nvar viewport_root_1 = require(\"../features/viewport/viewport-root\");\nvar geometry_1 = require(\"../utils/geometry\");\nvar model_6 = require(\"../features/bounds/model\");\n/**\n * Root element for graph-like models.\n */\nvar SGraph = /** @class */ (function (_super) {\n __extends(SGraph, _super);\n function SGraph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SGraph;\n}(viewport_root_1.ViewportRootElement));\nexports.SGraph = SGraph;\n/**\n * Model element class for nodes, which are connectable entities in a graph. A node can be connected to\n * another node via an SEdge. Such a connection can be direct, i.e. the node is the source or target of\n * the edge, or indirect through a port, i.e. it contains an SPort which is the source or target of the edge.\n */\nvar SNode = /** @class */ (function (_super) {\n __extends(SNode, _super);\n function SNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hoverFeedback = false;\n _this.selected = false;\n _this.opacity = 1;\n return _this;\n }\n SNode.prototype.hasFeature = function (feature) {\n return feature === model_5.selectFeature || feature === model_4.moveFeature || feature === model_1.boundsFeature\n || feature === model_1.layoutContainerFeature || feature === model_2.fadeFeature || feature === model_3.hoverFeedbackFeature\n || feature === model_3.popupFeature;\n };\n return SNode;\n}(model_6.SShapeElement));\nexports.SNode = SNode;\n/**\n * A port is a connection point for edges. It should always be contained in an SNode.\n */\nvar SPort = /** @class */ (function (_super) {\n __extends(SPort, _super);\n function SPort() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hoverFeedback = false;\n _this.selected = false;\n _this.opacity = 1;\n return _this;\n }\n SPort.prototype.hasFeature = function (feature) {\n return feature === model_5.selectFeature || feature === model_1.boundsFeature || feature === model_2.fadeFeature\n || feature === model_3.hoverFeedbackFeature;\n };\n return SPort;\n}(model_6.SShapeElement));\nexports.SPort = SPort;\n/**\n * Model element class for edges, which are the connectors in a graph. An edge has a source and a target,\n * each of which can be either a node or a port. The source and target elements are referenced via their\n * ids and can be resolved with the index stored in the root element.\n */\nvar SEdge = /** @class */ (function (_super) {\n __extends(SEdge, _super);\n function SEdge() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.routingPoints = [];\n _this.opacity = 1;\n return _this;\n }\n Object.defineProperty(SEdge.prototype, \"source\", {\n get: function () {\n return this.index.getById(this.sourceId);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SEdge.prototype, \"target\", {\n get: function () {\n return this.index.getById(this.targetId);\n },\n enumerable: true,\n configurable: true\n });\n SEdge.prototype.hasFeature = function (feature) {\n return feature === model_2.fadeFeature;\n };\n return SEdge;\n}(smodel_1.SChildElement));\nexports.SEdge = SEdge;\n/**\n * A label can be attached to a node, edge, or port, and contains some text to be rendered in its view.\n */\nvar SLabel = /** @class */ (function (_super) {\n __extends(SLabel, _super);\n function SLabel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.selected = false;\n _this.alignment = geometry_1.ORIGIN_POINT;\n _this.opacity = 1;\n return _this;\n }\n SLabel.prototype.hasFeature = function (feature) {\n return feature === model_1.boundsFeature || feature === model_1.alignFeature || feature === model_2.fadeFeature || feature === model_1.layoutableChildFeature;\n };\n return SLabel;\n}(model_6.SShapeElement));\nexports.SLabel = SLabel;\n/**\n * A compartment is used to group multiple child elements such as labels of a node. Usually a `vbox`\n * or `hbox` layout is used to arrange these children.\n */\nvar SCompartment = /** @class */ (function (_super) {\n __extends(SCompartment, _super);\n function SCompartment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.opacity = 1;\n return _this;\n }\n SCompartment.prototype.hasFeature = function (feature) {\n return feature === model_1.boundsFeature || feature === model_1.layoutContainerFeature || feature === model_1.layoutableChildFeature || feature === model_2.fadeFeature;\n };\n return SCompartment;\n}(model_6.SShapeElement));\nexports.SCompartment = SCompartment;\n//# sourceMappingURL=sgraph.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/graph/sgraph.js\n// module id = 101\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../base/types\");\nvar action_handler_1 = require(\"../base/actions/action-handler\");\nvar set_model_1 = require(\"../base/features/set-model\");\nvar svg_exporter_1 = require(\"../features/export/svg-exporter\");\n/**\n * A model source is serving the model to the event cycle. It represents\n * the entry point to the client for external sources, such as model\n * editors.\n *\n * As an IActionHandler it listens to actions in and reacts to them with\n * commands or actions if necessary. This way, you can implement action\n * protocols between the client and the outside world.\n *\n * There are two default implementations for a ModelSource:\n * <ul>\n * <li>the LocalModelSource handles the actions to calculate bounds and\n * set/update the model</li>\n * <li>the DiagramServer connects via websocket to a remote source. It\n * can be used to connect to a model editor that provides the model,\n * layouts diagrams, transfers selection and answers model queries from\n * the client.</li>\n */\nvar ModelSource = /** @class */ (function () {\n function ModelSource(actionDispatcher, actionHandlerRegistry, viewerOptions) {\n this.actionDispatcher = actionDispatcher;\n this.viewerOptions = viewerOptions;\n this.initialize(actionHandlerRegistry);\n }\n ModelSource.prototype.initialize = function (registry) {\n // Register model manipulation commands\n registry.registerCommand(set_model_1.SetModelCommand);\n // Register this model source\n registry.register(set_model_1.RequestModelAction.KIND, this);\n registry.register(svg_exporter_1.ExportSvgAction.KIND, this);\n };\n ModelSource = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.ActionHandlerRegistry)),\n __param(2, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __metadata(\"design:paramtypes\", [Object, action_handler_1.ActionHandlerRegistry, Object])\n ], ModelSource);\n return ModelSource;\n}());\nexports.ModelSource = ModelSource;\n//# sourceMappingURL=model-source.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/model-source.js\n// module id = 102\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../base/types\");\nvar LogLevel;\n(function (LogLevel) {\n LogLevel[LogLevel[\"none\"] = 0] = \"none\";\n LogLevel[LogLevel[\"error\"] = 1] = \"error\";\n LogLevel[LogLevel[\"warn\"] = 2] = \"warn\";\n LogLevel[LogLevel[\"info\"] = 3] = \"info\";\n LogLevel[LogLevel[\"log\"] = 4] = \"log\";\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\nvar NullLogger = /** @class */ (function () {\n function NullLogger() {\n this.logLevel = LogLevel.none;\n }\n NullLogger.prototype.error = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n };\n NullLogger.prototype.warn = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n };\n NullLogger.prototype.info = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n };\n NullLogger.prototype.log = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n };\n NullLogger = __decorate([\n inversify_1.injectable()\n ], NullLogger);\n return NullLogger;\n}());\nexports.NullLogger = NullLogger;\nvar ConsoleLogger = /** @class */ (function () {\n function ConsoleLogger(logLevel, viewOptions) {\n if (logLevel === void 0) { logLevel = LogLevel.log; }\n if (viewOptions === void 0) { viewOptions = { baseDiv: '' }; }\n this.logLevel = logLevel;\n this.viewOptions = viewOptions;\n }\n ConsoleLogger.prototype.error = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= LogLevel.error)\n try {\n console.error.apply(thisArg, this.consoleArguments(thisArg, message, params));\n }\n catch (error) { }\n };\n ConsoleLogger.prototype.warn = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= LogLevel.warn)\n try {\n console.warn.apply(thisArg, this.consoleArguments(thisArg, message, params));\n }\n catch (error) { }\n };\n ConsoleLogger.prototype.info = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= LogLevel.info)\n try {\n console.info.apply(thisArg, this.consoleArguments(thisArg, message, params));\n }\n catch (error) { }\n };\n ConsoleLogger.prototype.log = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= LogLevel.log)\n try {\n console.log.apply(thisArg, this.consoleArguments(thisArg, message, params));\n }\n catch (error) { }\n };\n ConsoleLogger.prototype.consoleArguments = function (thisArg, message, params) {\n var caller;\n if (typeof thisArg === 'object')\n caller = thisArg.constructor.name;\n else\n caller = thisArg;\n var date = new Date();\n return [date.toLocaleTimeString() + ' ' + this.viewOptions.baseDiv + ' ' + caller + ': ' + message].concat(params);\n };\n ConsoleLogger = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.LogLevel)),\n __param(1, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __metadata(\"design:paramtypes\", [Number, Object])\n ], ConsoleLogger);\n return ConsoleLogger;\n}());\nexports.ConsoleLogger = ConsoleLogger;\n//# sourceMappingURL=logging.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/utils/logging.js\n// module id = 103\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_html.js\n// module id = 104\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_ie8-dom-define.js\n// module id = 105\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-regexp.js\n// module id = 106\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-detect.js\n// module id = 107\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-step.js\n// module id = 108\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_new-promise-capability.js\n// module id = 109\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopd.js\n// module id = 110\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn.js\n// module id = 111\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gops.js\n// module id = 112\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-keys-internal.js\n// module id = 113\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-species.js\n// module id = 114\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-at.js\n// module id = 115\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_task.js\n// module id = 116\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-absolute-index.js\n// module id = 117\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_validate-collection.js\n// module id = 118\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-ext.js\n// module id = 119\n// module chunks = 0","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/web.dom.iterable.js\n// module id = 120\n// module chunks = 0","/* FileSaver.js\n * A saveAs() FileSaver implementation.\n * 1.3.2\n * 2016-06-16 18:25:19\n *\n * By Eli Grey, http://eligrey.com\n * License: MIT\n * See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md\n */\n\n/*global self */\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\n\n/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */\n\nvar saveAs = saveAs || (function(view) {\n\t\"use strict\";\n\t// IE <10 is explicitly unsupported\n\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\./.test(navigator.userAgent)) {\n\t\treturn;\n\t}\n\tvar\n\t\t doc = view.document\n\t\t // only get URL when necessary in case Blob.js hasn't overridden it yet\n\t\t, get_URL = function() {\n\t\t\treturn view.URL || view.webkitURL || view;\n\t\t}\n\t\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\n\t\t, can_use_save_link = \"download\" in save_link\n\t\t, click = function(node) {\n\t\t\tvar event = new MouseEvent(\"click\");\n\t\t\tnode.dispatchEvent(event);\n\t\t}\n\t\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\n\t\t, is_chrome_ios =/CriOS\\/[\\d]+/.test(navigator.userAgent)\n\t\t, throw_outside = function(ex) {\n\t\t\t(view.setImmediate || view.setTimeout)(function() {\n\t\t\t\tthrow ex;\n\t\t\t}, 0);\n\t\t}\n\t\t, force_saveable_type = \"application/octet-stream\"\n\t\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\n\t\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\n\t\t, revoke = function(file) {\n\t\t\tvar revoker = function() {\n\t\t\t\tif (typeof file === \"string\") { // file is an object URL\n\t\t\t\t\tget_URL().revokeObjectURL(file);\n\t\t\t\t} else { // file is a File\n\t\t\t\t\tfile.remove();\n\t\t\t\t}\n\t\t\t};\n\t\t\tsetTimeout(revoker, arbitrary_revoke_timeout);\n\t\t}\n\t\t, dispatch = function(filesaver, event_types, event) {\n\t\t\tevent_types = [].concat(event_types);\n\t\t\tvar i = event_types.length;\n\t\t\twhile (i--) {\n\t\t\t\tvar listener = filesaver[\"on\" + event_types[i]];\n\t\t\t\tif (typeof listener === \"function\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlistener.call(filesaver, event || filesaver);\n\t\t\t\t\t} catch (ex) {\n\t\t\t\t\t\tthrow_outside(ex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t, auto_bom = function(blob) {\n\t\t\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\n\t\t\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n\t\t\tif (/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n\t\t\t\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\n\t\t\t}\n\t\t\treturn blob;\n\t\t}\n\t\t, FileSaver = function(blob, name, no_auto_bom) {\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\t// First try a.download, then web filesystem, then object URLs\n\t\t\tvar\n\t\t\t\t filesaver = this\n\t\t\t\t, type = blob.type\n\t\t\t\t, force = type === force_saveable_type\n\t\t\t\t, object_url\n\t\t\t\t, dispatch_all = function() {\n\t\t\t\t\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\n\t\t\t\t}\n\t\t\t\t// on any filesys errors revert to saving with object URLs\n\t\t\t\t, fs_error = function() {\n\t\t\t\t\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\n\t\t\t\t\t\t// Safari doesn't allow downloading of blob urls\n\t\t\t\t\t\tvar reader = new FileReader();\n\t\t\t\t\t\treader.onloadend = function() {\n\t\t\t\t\t\t\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');\n\t\t\t\t\t\t\tvar popup = view.open(url, '_blank');\n\t\t\t\t\t\t\tif(!popup) view.location.href = url;\n\t\t\t\t\t\t\turl=undefined; // release reference before dispatching\n\t\t\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\t\t\tdispatch_all();\n\t\t\t\t\t\t};\n\t\t\t\t\t\treader.readAsDataURL(blob);\n\t\t\t\t\t\tfilesaver.readyState = filesaver.INIT;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// don't create more object URLs than needed\n\t\t\t\t\tif (!object_url) {\n\t\t\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\t\t}\n\t\t\t\t\tif (force) {\n\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar opened = view.open(object_url, \"_blank\");\n\t\t\t\t\t\tif (!opened) {\n\t\t\t\t\t\t\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\n\t\t\t\t\t\t\tview.location.href = object_url;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t}\n\t\t\t;\n\t\t\tfilesaver.readyState = filesaver.INIT;\n\n\t\t\tif (can_use_save_link) {\n\t\t\t\tobject_url = get_URL().createObjectURL(blob);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tsave_link.href = object_url;\n\t\t\t\t\tsave_link.download = name;\n\t\t\t\t\tclick(save_link);\n\t\t\t\t\tdispatch_all();\n\t\t\t\t\trevoke(object_url);\n\t\t\t\t\tfilesaver.readyState = filesaver.DONE;\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfs_error();\n\t\t}\n\t\t, FS_proto = FileSaver.prototype\n\t\t, saveAs = function(blob, name, no_auto_bom) {\n\t\t\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\n\t\t}\n\t;\n\t// IE 10+ (native saveAs)\n\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\n\t\treturn function(blob, name, no_auto_bom) {\n\t\t\tname = name || blob.name || \"download\";\n\n\t\t\tif (!no_auto_bom) {\n\t\t\t\tblob = auto_bom(blob);\n\t\t\t}\n\t\t\treturn navigator.msSaveOrOpenBlob(blob, name);\n\t\t};\n\t}\n\n\tFS_proto.abort = function(){};\n\tFS_proto.readyState = FS_proto.INIT = 0;\n\tFS_proto.WRITING = 1;\n\tFS_proto.DONE = 2;\n\n\tFS_proto.error =\n\tFS_proto.onwritestart =\n\tFS_proto.onprogress =\n\tFS_proto.onwrite =\n\tFS_proto.onabort =\n\tFS_proto.onerror =\n\tFS_proto.onwriteend =\n\t\tnull;\n\n\treturn saveAs;\n}(\n\t typeof self !== \"undefined\" && self\n\t|| typeof window !== \"undefined\" && window\n\t|| this.content\n));\n// `self` is undefined in Firefox for Android content script context\n// while `this` is nsIContentFrameMessageManager\n// with an attribute `content` that corresponds to the window\n\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports.saveAs = saveAs;\n} else if ((typeof define !== \"undefined\" && define !== null) && (define.amd !== null)) {\n define(\"FileSaver.js\", function() {\n return saveAs;\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/file-saver/FileSaver.js\n// module id = 121\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar error_msgs_1 = require(\"../constants/error_msgs\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nvar LazyServiceIdentifer = (function () {\n function LazyServiceIdentifer(cb) {\n this._cb = cb;\n }\n LazyServiceIdentifer.prototype.unwrap = function () {\n return this._cb();\n };\n return LazyServiceIdentifer;\n}());\nexports.LazyServiceIdentifer = LazyServiceIdentifer;\nfunction inject(serviceIdentifier) {\n return function (target, targetKey, index) {\n if (serviceIdentifier === undefined) {\n throw new Error(error_msgs_1.UNDEFINED_INJECT_ANNOTATION(target.name));\n }\n var metadata = new metadata_1.Metadata(METADATA_KEY.INJECT_TAG, serviceIdentifier);\n if (typeof index === \"number\") {\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n }\n else {\n decorator_utils_1.tagProperty(target, targetKey, metadata);\n }\n };\n}\nexports.inject = inject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/inject.js\n// module id = 122\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar MetadataReader = (function () {\n function MetadataReader() {\n }\n MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {\n var compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);\n var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);\n return {\n compilerGeneratedMetadata: compilerGeneratedMetadata,\n userGeneratedMetadata: userGeneratedMetadata || {}\n };\n };\n MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {\n var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];\n return userGeneratedMetadata;\n };\n return MetadataReader;\n}());\nexports.MetadataReader = MetadataReader;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/metadata_reader.js\n// module id = 123\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar guid_1 = require(\"../utils/guid\");\nvar metadata_1 = require(\"./metadata\");\nvar queryable_string_1 = require(\"./queryable_string\");\nvar Target = (function () {\n function Target(type, name, serviceIdentifier, namedOrTagged) {\n this.guid = guid_1.guid();\n this.type = type;\n this.serviceIdentifier = serviceIdentifier;\n this.name = new queryable_string_1.QueryableString(name || \"\");\n this.metadata = new Array();\n var metadataItem = null;\n if (typeof namedOrTagged === \"string\") {\n metadataItem = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);\n }\n else if (namedOrTagged instanceof metadata_1.Metadata) {\n metadataItem = namedOrTagged;\n }\n if (metadataItem !== null) {\n this.metadata.push(metadataItem);\n }\n }\n Target.prototype.hasTag = function (key) {\n for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {\n var m = _a[_i];\n if (m.key === key) {\n return true;\n }\n }\n return false;\n };\n Target.prototype.isArray = function () {\n return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);\n };\n Target.prototype.matchesArray = function (name) {\n return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);\n };\n Target.prototype.isNamed = function () {\n return this.hasTag(METADATA_KEY.NAMED_TAG);\n };\n Target.prototype.isTagged = function () {\n return this.metadata.some(function (m) {\n return (m.key !== METADATA_KEY.INJECT_TAG) &&\n (m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&\n (m.key !== METADATA_KEY.NAME_TAG) &&\n (m.key !== METADATA_KEY.UNMANAGED_TAG) &&\n (m.key !== METADATA_KEY.NAMED_TAG);\n });\n };\n Target.prototype.isOptional = function () {\n return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);\n };\n Target.prototype.getNamedTag = function () {\n if (this.isNamed()) {\n return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];\n }\n return null;\n };\n Target.prototype.getCustomTags = function () {\n if (this.isTagged()) {\n return this.metadata.filter(function (m) {\n return (m.key !== METADATA_KEY.INJECT_TAG) &&\n (m.key !== METADATA_KEY.MULTI_INJECT_TAG) &&\n (m.key !== METADATA_KEY.NAME_TAG) &&\n (m.key !== METADATA_KEY.UNMANAGED_TAG) &&\n (m.key !== METADATA_KEY.NAMED_TAG);\n });\n }\n return null;\n };\n Target.prototype.matchesNamedTag = function (name) {\n return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);\n };\n Target.prototype.matchesTag = function (key) {\n var _this = this;\n return function (value) {\n for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {\n var m = _a[_i];\n if (m.key === key && m.value === value) {\n return true;\n }\n }\n return false;\n };\n };\n return Target;\n}());\nexports.Target = Target;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/target.js\n// module id = 124\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_on_syntax_1 = require(\"./binding_on_syntax\");\nvar binding_when_syntax_1 = require(\"./binding_when_syntax\");\nvar BindingWhenOnSyntax = (function () {\n function BindingWhenOnSyntax(binding) {\n this._binding = binding;\n this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);\n this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);\n }\n BindingWhenOnSyntax.prototype.when = function (constraint) {\n return this._bindingWhenSyntax.when(constraint);\n };\n BindingWhenOnSyntax.prototype.whenTargetNamed = function (name) {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n };\n BindingWhenOnSyntax.prototype.whenTargetIsDefault = function () {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n };\n BindingWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n };\n BindingWhenOnSyntax.prototype.whenInjectedInto = function (parent) {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n };\n BindingWhenOnSyntax.prototype.whenParentNamed = function (name) {\n return this._bindingWhenSyntax.whenParentNamed(name);\n };\n BindingWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n };\n BindingWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n };\n BindingWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n };\n BindingWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n };\n BindingWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n };\n BindingWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n };\n BindingWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n };\n BindingWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n };\n BindingWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n };\n BindingWhenOnSyntax.prototype.onActivation = function (handler) {\n return this._bindingOnSyntax.onActivation(handler);\n };\n return BindingWhenOnSyntax;\n}());\nexports.BindingWhenOnSyntax = BindingWhenOnSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_when_on_syntax.js\n// module id = 125\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar traverseAncerstors = function (request, constraint) {\n var parent = request.parentRequest;\n if (parent !== null) {\n return constraint(parent) ? true : traverseAncerstors(parent, constraint);\n }\n else {\n return false;\n }\n};\nexports.traverseAncerstors = traverseAncerstors;\nvar taggedConstraint = function (key) { return function (value) {\n var constraint = function (request) {\n return request !== null && request.target !== null && request.target.matchesTag(key)(value);\n };\n constraint.metaData = new metadata_1.Metadata(key, value);\n return constraint;\n}; };\nexports.taggedConstraint = taggedConstraint;\nvar namedConstraint = taggedConstraint(METADATA_KEY.NAMED_TAG);\nexports.namedConstraint = namedConstraint;\nvar typeConstraint = function (type) { return function (request) {\n var binding = null;\n if (request !== null) {\n binding = request.bindings[0];\n if (typeof type === \"string\") {\n var serviceIdentifier = binding.serviceIdentifier;\n return serviceIdentifier === type;\n }\n else {\n var constructor = request.bindings[0].implementationType;\n return type === constructor;\n }\n }\n return false;\n}; };\nexports.typeConstraint = typeConstraint;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/constraint_helpers.js\n// module id = 126\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nfunction isStackOverflowExeption(error) {\n return (error instanceof RangeError ||\n error.message === ERROR_MSGS.STACK_OVERFLOW);\n}\nexports.isStackOverflowExeption = isStackOverflowExeption;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/utils/exceptions.js\n// module id = 127\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction vnode(sel, data, children, text, elm) {\n var key = data === undefined ? undefined : data.key;\n return { sel: sel, data: data, children: children,\n text: text, elm: elm, key: key };\n}\nexports.vnode = vnode;\nexports.default = vnode;\n//# sourceMappingURL=vnode.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom/vnode.js\n// module id = 128\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Slows down animations towards the begin and the end.\n *\n * @param x the value between 0 (start of animation) and 1 (end of\n * animation) linearly interpolated in time.\n * @returns {number} the eased value between 0 and 1\n */\nfunction easeInOut(x) {\n if (x < 0.5)\n return x * x * 2;\n else\n return 1 - (1 - x) * (1 - x) * 2;\n}\nexports.easeInOut = easeInOut;\n//# sourceMappingURL=easing.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/animations/easing.js\n// module id = 129\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar smodel_factory_1 = require(\"../model/smodel-factory\");\nvar animation_frame_syncer_1 = require(\"../animations/animation-frame-syncer\");\nvar command_1 = require(\"./command\");\n/**\n * The implementation of the ICommandStack. Clients should not use this\n * class directly.\n *\n * The command stack holds the current model as the result of the current\n * promise. When a new command is executed/undone/redone, its execution is\n * chained using <code>Promise#then()</code> to the current Promise. This\n * way we can handle long running commands without blocking the current\n * thread.\n *\n * The command stack also does the special handling for special commands:\n *\n * System commands should be transparent to the user and as such be\n * automatically undone/redone with the next plain command. Additional care\n * must be taken that system commands that are executed after undo don't\n * break the correspondence between the topmost commands on the undo and\n * redo stacks.\n *\n * Hidden commands only tell the viewer to render a hidden model such that\n * its bounds can be extracted from the DOM and forwarded as separate actions.\n * Hidden commands should not leave any trace on the undo/redo/off stacks.\n *\n * Mergeable commands should be merged with their predecessor if possible,\n * such that e.g. multiple subsequent moves of the smae element can be undone\n * in one single step.\n */\nvar CommandStack = /** @class */ (function () {\n function CommandStack(modelFactory, viewerProvider, logger, syncer, options) {\n this.modelFactory = modelFactory;\n this.viewerProvider = viewerProvider;\n this.logger = logger;\n this.syncer = syncer;\n this.options = options;\n this.undoStack = [];\n this.redoStack = [];\n /**\n * System commands should be transparent to the user in undo/redo\n * operations. When a system command is executed when the redo\n * stack is not empty, it is pushed to offStack instead.\n *\n * On redo, all commands form this stack are undone such that the\n * redo operation gets the exact same model as when it was executed\n * first.\n *\n * On undo, all commands form this stack are undone as well as\n * system ommands should be transparent to the user.\n */\n this.offStack = [];\n this.currentPromise = Promise.resolve({\n root: modelFactory.createRoot(smodel_factory_1.EMPTY_ROOT),\n hiddenRoot: undefined,\n popupRoot: undefined,\n rootChanged: false,\n hiddenRootChanged: false,\n popupChanged: false\n });\n }\n CommandStack.prototype.executeAll = function (commands) {\n var _this = this;\n commands.forEach(function (command) {\n _this.logger.log(_this, 'Executing', command);\n _this.handleCommand(command, command.execute, _this.mergeOrPush);\n });\n return this.thenUpdate();\n };\n CommandStack.prototype.execute = function (command) {\n this.logger.log(this, 'Executing', command);\n this.handleCommand(command, command.execute, this.mergeOrPush);\n return this.thenUpdate();\n };\n CommandStack.prototype.undo = function () {\n var _this = this;\n this.undoOffStackSystemCommands();\n this.undoPreceedingSystemCommands();\n var command = this.undoStack.pop();\n if (command !== undefined) {\n this.logger.log(this, 'Undoing', command);\n this.handleCommand(command, command.undo, function (command, context) {\n _this.redoStack.push(command);\n });\n }\n return this.thenUpdate();\n };\n CommandStack.prototype.redo = function () {\n var _this = this;\n this.undoOffStackSystemCommands();\n var command = this.redoStack.pop();\n if (command !== undefined) {\n this.logger.log(this, 'Redoing', command);\n this.handleCommand(command, command.redo, function (command, context) {\n _this.pushToUndoStack(command);\n });\n }\n this.redoFollowingSystemCommands();\n return this.thenUpdate();\n };\n /**\n * Chains the current promise with another Promise that performs the\n * given operation on the given command.\n *\n * @param beforeResolve a function that is called directly before\n * resolving the Promise to return the new model. Usually puts the\n * command on the appropriate stack.\n */\n CommandStack.prototype.handleCommand = function (command, operation, beforeResolve) {\n var _this = this;\n this.currentPromise = this.currentPromise.then(function (state) {\n var promise = new Promise(function (resolve, reject) {\n var context = _this.createContext(state.root);\n var newResult;\n try {\n newResult = operation.call(command, context);\n }\n catch (error) {\n _this.logger.error(_this, \"Failed to execute command:\", error);\n newResult = state.root;\n }\n if (command instanceof command_1.HiddenCommand) {\n resolve(__assign({}, state, {\n hiddenRoot: newResult,\n hiddenRootChanged: true\n }));\n }\n else if (command instanceof command_1.PopupCommand) {\n resolve(__assign({}, state, {\n popupRoot: newResult,\n popupChanged: true\n }));\n }\n else if (newResult instanceof Promise) {\n newResult.then(function (newModel) {\n beforeResolve.call(_this, command, context);\n resolve(__assign({}, state, {\n root: newModel,\n rootChanged: true\n }));\n });\n }\n else {\n beforeResolve.call(_this, command, context);\n resolve(__assign({}, state, {\n root: newResult,\n rootChanged: true\n }));\n }\n });\n return promise;\n });\n };\n CommandStack.prototype.pushToUndoStack = function (command) {\n this.undoStack.push(command);\n if (this.options.undoHistoryLimit >= 0 && this.undoStack.length > this.options.undoHistoryLimit)\n this.undoStack.splice(0, this.undoStack.length - this.options.undoHistoryLimit);\n };\n /**\n * Notifies the Viewer to render the new model and/or the new hidden model\n * and returns a Promise for the new model.\n */\n CommandStack.prototype.thenUpdate = function () {\n var _this = this;\n this.currentPromise = this.currentPromise.then(function (state) {\n if (state.hiddenRootChanged && state.hiddenRoot !== undefined)\n _this.updateHidden(state.hiddenRoot);\n if (state.rootChanged)\n _this.update(state.root);\n if (state.popupChanged && state.popupRoot !== undefined)\n _this.updatePopup(state.popupRoot);\n return {\n root: state.root,\n hiddenRoot: undefined,\n popupRoot: undefined,\n rootChanged: false,\n hiddenRootChanged: false,\n popupChanged: false\n };\n });\n return this.currentPromise.then(function (state) { return state.root; });\n };\n /**\n * Notify the <code>Viewer</code> that the model has changed.\n */\n CommandStack.prototype.updatePopup = function (model) {\n var _this = this;\n if (this.viewer) {\n this.viewer.updatePopup(model);\n return;\n }\n this.viewerProvider().then(function (viewer) {\n _this.viewer = viewer;\n _this.updatePopup(model);\n });\n };\n /**\n * Notify the <code>Viewer</code> that the model has changed.\n */\n CommandStack.prototype.update = function (model) {\n var _this = this;\n if (this.viewer) {\n this.viewer.update(model);\n return;\n }\n this.viewerProvider().then(function (viewer) {\n _this.viewer = viewer;\n _this.update(model);\n });\n };\n /**\n * Notify the <code>Viewer</code> that the hidden model has changed.\n */\n CommandStack.prototype.updateHidden = function (model) {\n var _this = this;\n if (this.viewer) {\n this.viewer.updateHidden(model);\n return;\n }\n this.viewerProvider().then(function (viewer) {\n _this.viewer = viewer;\n _this.updateHidden(model);\n });\n };\n /**\n * Handling of commands after their execution.\n *\n * Hidden commands are not pushed to any stack.\n *\n * System commands are pushed to the <code>offStack</code> when the redo\n * stack is not empty, allowing to undo the before a redo to keep the chain\n * of commands consistent.\n *\n * Mergable commands are merged if possible.\n */\n CommandStack.prototype.mergeOrPush = function (command, context) {\n var _this = this;\n if (command instanceof command_1.HiddenCommand)\n return;\n if (command instanceof command_1.SystemCommand && this.redoStack.length > 0) {\n this.offStack.push(command);\n }\n else {\n this.offStack.forEach(function (command) { return _this.undoStack.push(command); });\n this.offStack = [];\n this.redoStack = [];\n if (this.undoStack.length > 0) {\n var lastCommand = this.undoStack[this.undoStack.length - 1];\n if (lastCommand instanceof command_1.MergeableCommand && lastCommand.merge(command, context))\n return;\n }\n this.pushToUndoStack(command);\n }\n };\n /**\n * Reverts all system commands on the offStack.\n */\n CommandStack.prototype.undoOffStackSystemCommands = function () {\n var command = this.offStack.pop();\n while (command !== undefined) {\n this.logger.log(this, 'Undoing off-stack', command);\n this.handleCommand(command, command.undo, function () { });\n command = this.offStack.pop();\n }\n };\n /**\n * System commands should be transparent to the user, so this method\n * is called from <code>undo()</code> to revert all system commands\n * at the top of the undoStack.\n */\n CommandStack.prototype.undoPreceedingSystemCommands = function () {\n var _this = this;\n var command = this.undoStack[this.undoStack.length - 1];\n while (command !== undefined && command instanceof command_1.SystemCommand) {\n this.undoStack.pop();\n this.logger.log(this, 'Undoing', command);\n this.handleCommand(command, command.undo, function (command, context) {\n _this.redoStack.push(command);\n });\n command = this.undoStack[this.undoStack.length - 1];\n }\n };\n /**\n * System commands should be transparent to the user, so this method\n * is called from <code>redo()</code> to re-execute all system commands\n * at the top of the redoStack.\n */\n CommandStack.prototype.redoFollowingSystemCommands = function () {\n var _this = this;\n var command = this.redoStack[this.redoStack.length - 1];\n while (command !== undefined && command instanceof command_1.SystemCommand) {\n this.redoStack.pop();\n this.logger.log(this, 'Redoing ', command);\n this.handleCommand(command, command.redo, function (command, context) {\n _this.pushToUndoStack(command);\n });\n command = this.redoStack[this.redoStack.length - 1];\n }\n };\n /**\n * Assembles the context object that is passed to the commands execution method.\n */\n CommandStack.prototype.createContext = function (currentModel) {\n var context = {\n root: currentModel,\n modelChanged: this,\n modelFactory: this.modelFactory,\n duration: this.options.defaultDuration,\n logger: this.logger,\n syncer: this.syncer\n };\n return context;\n };\n CommandStack = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IModelFactory)),\n __param(1, inversify_1.inject(types_1.TYPES.IViewerProvider)),\n __param(2, inversify_1.inject(types_1.TYPES.ILogger)),\n __param(3, inversify_1.inject(types_1.TYPES.AnimationFrameSyncer)),\n __param(4, inversify_1.inject(types_1.TYPES.CommandStackOptions)),\n __metadata(\"design:paramtypes\", [Object, Function, Object, animation_frame_syncer_1.AnimationFrameSyncer, Object])\n ], CommandStack);\n return CommandStack;\n}());\nexports.CommandStack = CommandStack;\n//# sourceMappingURL=command-stack.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/commands/command-stack.js\n// module id = 130\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom_1 = require(\"snabbdom\");\n/**\n * An view that avoids calculation and patching of VNodes unless some model properties have changed.\n * Based on snabbdom's thunks.\n */\nvar ThunkView = /** @class */ (function () {\n function ThunkView() {\n }\n ThunkView.prototype.render = function (model, context) {\n var _this = this;\n return snabbdom_1.h(this.selector(model), {\n key: model.id,\n hook: {\n init: this.init.bind(this),\n prepatch: this.prepatch.bind(this)\n },\n fn: function () { return _this.renderAndDecorate(model, context); },\n args: this.watchedArgs(model),\n thunk: true\n });\n };\n ThunkView.prototype.renderAndDecorate = function (model, context) {\n var vnode = this.doRender(model, context);\n context.decorate(vnode, model);\n return vnode;\n };\n ThunkView.prototype.copyToThunk = function (vnode, thunk) {\n thunk.elm = vnode.elm;\n vnode.data.fn = thunk.data.fn;\n vnode.data.args = thunk.data.args;\n thunk.data = vnode.data;\n thunk.children = vnode.children;\n thunk.text = vnode.text;\n thunk.elm = vnode.elm;\n };\n ThunkView.prototype.init = function (thunk) {\n var cur = thunk.data;\n var vnode = cur.fn.apply(undefined, cur.args);\n this.copyToThunk(vnode, thunk);\n };\n ThunkView.prototype.prepatch = function (oldVnode, thunk) {\n var old = oldVnode.data, cur = thunk.data;\n if (!this.equals(old.args, cur.args))\n this.copyToThunk(cur.fn.apply(undefined, cur.args), thunk);\n else\n this.copyToThunk(oldVnode, thunk);\n };\n ThunkView.prototype.equals = function (oldArg, newArg) {\n if (Array.isArray(oldArg) && Array.isArray(newArg)) {\n if (oldArg.length !== newArg.length)\n return false;\n for (var i = 0; i < newArg.length; ++i) {\n if (!this.equals(oldArg[i], newArg[i]))\n return false;\n }\n }\n else if (typeof oldArg === 'object' && typeof newArg === 'object') {\n if (Object.keys(oldArg).length !== Object.keys(newArg).length)\n return false;\n for (var key in oldArg) {\n if (key !== 'parent' && key !== 'root' && (!(key in newArg) || !this.equals(oldArg[key], newArg[key])))\n return false;\n }\n }\n else if (oldArg !== newArg) {\n return false;\n }\n return true;\n };\n return ThunkView;\n}());\nexports.ThunkView = ThunkView;\nfunction isThunk(vnode) {\n return 'thunk' in vnode;\n}\nexports.isThunk = isThunk;\n//# sourceMappingURL=thunk-view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/thunk-view.js\n// module id = 131\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar inversify_1 = require(\"inversify\");\nvar smodel_factory_1 = require(\"../model/smodel-factory\");\nvar registry_1 = require(\"../../utils/registry\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar JSX = { createElement: snabbdom.svg };\n/**\n * Allows to look up the IView for a given SModelElement based on its type.\n */\nvar ViewRegistry = /** @class */ (function (_super) {\n __extends(ViewRegistry, _super);\n function ViewRegistry() {\n var _this = _super.call(this) || this;\n _this.registerDefaults();\n return _this;\n }\n ViewRegistry.prototype.registerDefaults = function () {\n this.register(smodel_factory_1.EMPTY_ROOT.type, EmptyView);\n };\n ViewRegistry.prototype.missing = function (key, element) {\n return new MissingView();\n };\n ViewRegistry = __decorate([\n inversify_1.injectable(),\n __metadata(\"design:paramtypes\", [])\n ], ViewRegistry);\n return ViewRegistry;\n}(registry_1.ProviderRegistry));\nexports.ViewRegistry = ViewRegistry;\nvar EmptyView = /** @class */ (function () {\n function EmptyView() {\n }\n EmptyView.prototype.render = function (model, context) {\n return JSX.createElement(\"svg\", { \"class-sprotty-empty\": true });\n };\n return EmptyView;\n}());\nexports.EmptyView = EmptyView;\nvar MissingView = /** @class */ (function () {\n function MissingView() {\n }\n MissingView.prototype.render = function (model, context) {\n var position = model.position || geometry_1.ORIGIN_POINT;\n return JSX.createElement(\"text\", { \"class-sprotty-missing\": true, x: position.x, y: position.y },\n \"?\",\n model.id,\n \"?\");\n };\n return MissingView;\n}());\nexports.MissingView = MissingView;\n//# sourceMappingURL=view.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/view.js\n// module id = 132\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar animation_frame_syncer_1 = require(\"../animations/animation-frame-syncer\");\n/**\n * Updating the view is rather expensive, and it doesn't make sense to calculate\n * more then one update per animation (rendering) frame. So this class batches\n * all incoming model changes and only renders the last one when the next animation\n * frame comes.\n */\nvar ViewerCache = /** @class */ (function () {\n function ViewerCache(delegate, syncer) {\n this.delegate = delegate;\n this.syncer = syncer;\n }\n ViewerCache.prototype.isCacheEmpty = function () {\n return this.cachedModelRoot === undefined && this.cachedHiddenModelRoot === undefined &&\n this.cachedPopup === undefined;\n };\n ViewerCache.prototype.updatePopup = function (model) {\n var isCacheEmpty = this.isCacheEmpty();\n this.cachedPopup = model;\n if (isCacheEmpty)\n this.scheduleUpdate();\n };\n ViewerCache.prototype.update = function (model) {\n var isCacheEmpty = this.isCacheEmpty();\n this.cachedModelRoot = model;\n if (isCacheEmpty)\n this.scheduleUpdate();\n };\n ViewerCache.prototype.updateHidden = function (hiddenModel) {\n var isCacheEmpty = this.isCacheEmpty();\n this.cachedHiddenModelRoot = hiddenModel;\n if (isCacheEmpty)\n this.scheduleUpdate();\n };\n ViewerCache.prototype.scheduleUpdate = function () {\n var _this = this;\n this.syncer.onEndOfNextFrame(function () {\n if (_this.cachedHiddenModelRoot) {\n var nextHiddenModelRoot = _this.cachedHiddenModelRoot;\n _this.delegate.updateHidden(nextHiddenModelRoot);\n _this.cachedHiddenModelRoot = undefined;\n }\n if (_this.cachedModelRoot) {\n var nextModelRoot = _this.cachedModelRoot;\n _this.delegate.update(nextModelRoot);\n _this.cachedModelRoot = undefined;\n }\n if (_this.cachedPopup) {\n var nextModelRoot = _this.cachedPopup;\n _this.delegate.updatePopup(nextModelRoot);\n _this.cachedPopup = undefined;\n }\n });\n };\n ViewerCache = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IViewer)), __param(0, inversify_1.named('delegate')),\n __param(1, inversify_1.inject(types_1.TYPES.AnimationFrameSyncer)),\n __metadata(\"design:paramtypes\", [Object, animation_frame_syncer_1.AnimationFrameSyncer])\n ], ViewerCache);\n return ViewerCache;\n}());\nexports.ViewerCache = ViewerCache;\n//# sourceMappingURL=viewer-cache.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/viewer-cache.js\n// module id = 133\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar snabbdom_1 = require(\"snabbdom\");\nvar props_1 = require(\"snabbdom/modules/props\");\nvar attributes_1 = require(\"snabbdom/modules/attributes\");\nvar style_1 = require(\"snabbdom/modules/style\");\nvar eventlisteners_1 = require(\"snabbdom/modules/eventlisteners\");\nvar class_1 = require(\"snabbdom/modules/class\");\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar initialize_canvas_1 = require(\"../features/initialize-canvas\");\nvar vnode_utils_1 = require(\"./vnode-utils\");\nvar thunk_view_1 = require(\"./thunk-view\");\nvar smodel_factory_1 = require(\"../model/smodel-factory\");\nvar JSX = { createElement: snabbdom.html }; // must be html here, as we're creating a div\nvar ModelRenderer = /** @class */ (function () {\n function ModelRenderer(viewRegistry, decorators) {\n this.viewRegistry = viewRegistry;\n this.decorators = decorators;\n }\n ModelRenderer.prototype.decorate = function (vnode, element) {\n if (thunk_view_1.isThunk(vnode))\n return vnode;\n return this.decorators.reduce(function (n, decorator) { return decorator.decorate(n, element); }, vnode);\n };\n ModelRenderer.prototype.renderElement = function (element) {\n var vNode = this.viewRegistry.get(element.type, element).render(element, this);\n return this.decorate(vNode, element);\n };\n ModelRenderer.prototype.renderChildren = function (element) {\n var _this = this;\n return element.children.map(function (child) { return _this.renderElement(child); });\n };\n ModelRenderer.prototype.postUpdate = function () {\n this.decorators.forEach(function (decorator) { return decorator.postUpdate(); });\n };\n return ModelRenderer;\n}());\nexports.ModelRenderer = ModelRenderer;\n/**\n * The component that turns the model into an SVG DOM.\n * Uses a VDOM based on snabbdom.js for performance.\n */\nvar Viewer = /** @class */ (function () {\n function Viewer(modelRendererFactory, decorators, hiddenDecorators, popupDecorators, options, logger, actiondispatcher) {\n var _this = this;\n this.decorators = decorators;\n this.hiddenDecorators = hiddenDecorators;\n this.popupDecorators = popupDecorators;\n this.options = options;\n this.logger = logger;\n this.actiondispatcher = actiondispatcher;\n this.onWindowResize = function (vdom) {\n var baseDiv = document.getElementById(_this.options.baseDiv);\n if (baseDiv !== null) {\n var newBounds = _this.getBoundsInPage(baseDiv);\n _this.actiondispatcher.dispatch(new initialize_canvas_1.InitializeCanvasBoundsAction(newBounds));\n }\n };\n this.patcher = this.createPatcher();\n this.renderer = modelRendererFactory(decorators);\n this.hiddenRenderer = modelRendererFactory(hiddenDecorators);\n this.popupRenderer = modelRendererFactory(popupDecorators);\n }\n Viewer.prototype.createModules = function () {\n return [\n props_1.propsModule,\n attributes_1.attributesModule,\n class_1.classModule,\n style_1.styleModule,\n eventlisteners_1.eventListenersModule\n ];\n };\n Viewer.prototype.createPatcher = function () {\n return snabbdom_1.init(this.createModules());\n };\n Viewer.prototype.getBoundsInPage = function (element) {\n var bounds = element.getBoundingClientRect();\n var scroll = typeof window !== 'undefined' ? { x: window.scrollX, y: window.scrollY } : geometry_1.ORIGIN_POINT;\n return {\n x: bounds.left + scroll.x,\n y: bounds.top + scroll.y,\n width: bounds.width,\n height: bounds.height\n };\n };\n Viewer.prototype.update = function (model) {\n var _this = this;\n this.logger.log(this, 'rendering', model);\n var newVDOM = JSX.createElement(\"div\", { id: this.options.baseDiv }, this.renderer.renderElement(model));\n if (this.lastVDOM !== undefined) {\n var hadFocus = this.hasFocus();\n vnode_utils_1.copyClassesFromVNode(this.lastVDOM, newVDOM);\n this.lastVDOM = this.patcher.call(this, this.lastVDOM, newVDOM);\n this.restoreFocus(hadFocus);\n }\n else if (typeof document !== 'undefined') {\n var placeholder = document.getElementById(this.options.baseDiv);\n if (placeholder !== null) {\n if (typeof window !== 'undefined') {\n window.addEventListener('resize', function () {\n _this.onWindowResize(newVDOM);\n });\n }\n vnode_utils_1.copyClassesFromElement(placeholder, newVDOM);\n vnode_utils_1.setClass(newVDOM, this.options.baseClass, true);\n this.lastVDOM = this.patcher.call(this, placeholder, newVDOM);\n }\n else {\n this.logger.error(this, 'element not in DOM:', this.options.baseDiv);\n }\n }\n this.renderer.postUpdate();\n };\n Viewer.prototype.hasFocus = function () {\n if (typeof document !== 'undefined' && document.activeElement && this.lastVDOM.children && this.lastVDOM.children.length > 0) {\n var lastRootVNode = this.lastVDOM.children[0];\n if (typeof lastRootVNode === 'object') {\n var lastElement = lastRootVNode.elm;\n return document.activeElement === lastElement;\n }\n }\n return false;\n };\n Viewer.prototype.restoreFocus = function (focus) {\n if (focus && this.lastVDOM.children && this.lastVDOM.children.length > 0) {\n var lastRootVNode = this.lastVDOM.children[0];\n if (typeof lastRootVNode === 'object') {\n var lastElement = lastRootVNode.elm;\n if (lastElement && typeof lastElement.focus === 'function')\n lastElement.focus();\n }\n }\n };\n Viewer.prototype.updateHidden = function (hiddenModel) {\n this.logger.log(this, 'rendering hidden');\n var newVDOM;\n if (hiddenModel.type === smodel_factory_1.EMPTY_ROOT.type) {\n newVDOM = JSX.createElement(\"div\", { id: this.options.hiddenDiv });\n }\n else {\n var hiddenVNode = this.hiddenRenderer.renderElement(hiddenModel);\n vnode_utils_1.setAttr(hiddenVNode, 'opacity', 0);\n newVDOM = JSX.createElement(\"div\", { id: this.options.hiddenDiv }, hiddenVNode);\n }\n if (this.lastHiddenVDOM !== undefined) {\n vnode_utils_1.copyClassesFromVNode(this.lastHiddenVDOM, newVDOM);\n this.lastHiddenVDOM = this.patcher.call(this, this.lastHiddenVDOM, newVDOM);\n }\n else {\n var placeholder = document.getElementById(this.options.hiddenDiv);\n if (placeholder === null) {\n placeholder = document.createElement(\"div\");\n document.body.appendChild(placeholder);\n }\n else {\n vnode_utils_1.copyClassesFromElement(placeholder, newVDOM);\n }\n vnode_utils_1.setClass(newVDOM, this.options.baseClass, true);\n vnode_utils_1.setClass(newVDOM, this.options.hiddenClass, true);\n this.lastHiddenVDOM = this.patcher.call(this, placeholder, newVDOM);\n }\n this.hiddenRenderer.postUpdate();\n };\n Viewer.prototype.updatePopup = function (model) {\n this.logger.log(this, 'rendering popup', model);\n var popupClosed = model.type === smodel_factory_1.EMPTY_ROOT.type;\n var newVDOM;\n if (popupClosed) {\n newVDOM = JSX.createElement(\"div\", { id: this.options.popupDiv });\n }\n else {\n var position = model.canvasBounds;\n var inlineStyle = {\n top: position.y + 'px',\n left: position.x + 'px'\n };\n newVDOM = JSX.createElement(\"div\", { id: this.options.popupDiv, style: inlineStyle }, this.popupRenderer.renderElement(model));\n }\n if (this.lastPopupVDOM !== undefined) {\n vnode_utils_1.copyClassesFromVNode(this.lastPopupVDOM, newVDOM);\n vnode_utils_1.setClass(newVDOM, this.options.popupClosedClass, popupClosed);\n this.lastPopupVDOM = this.patcher.call(this, this.lastPopupVDOM, newVDOM);\n }\n else if (typeof document !== 'undefined') {\n var placeholder = document.getElementById(this.options.popupDiv);\n if (placeholder === null) {\n placeholder = document.createElement(\"div\");\n document.body.appendChild(placeholder);\n }\n else {\n vnode_utils_1.copyClassesFromElement(placeholder, newVDOM);\n }\n vnode_utils_1.setClass(newVDOM, this.options.popupClass, true);\n vnode_utils_1.setClass(newVDOM, this.options.popupClosedClass, popupClosed);\n this.lastPopupVDOM = this.patcher.call(this, placeholder, newVDOM);\n }\n this.popupRenderer.postUpdate();\n };\n Viewer = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ModelRendererFactory)),\n __param(1, inversify_1.multiInject(types_1.TYPES.IVNodeDecorator)), __param(1, inversify_1.optional()),\n __param(2, inversify_1.multiInject(types_1.TYPES.HiddenVNodeDecorator)), __param(2, inversify_1.optional()),\n __param(3, inversify_1.multiInject(types_1.TYPES.PopupVNodeDecorator)), __param(3, inversify_1.optional()),\n __param(4, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __param(5, inversify_1.inject(types_1.TYPES.ILogger)),\n __param(6, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __metadata(\"design:paramtypes\", [Function, Array, Array, Array, Object, Object, Object])\n ], Viewer);\n return Viewer;\n}());\nexports.Viewer = Viewer;\n//# sourceMappingURL=viewer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/viewer.js\n// module id = 134\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar vnode_utils_1 = require(\"./vnode-utils\");\nvar FocusFixDecorator = /** @class */ (function () {\n function FocusFixDecorator() {\n }\n FocusFixDecorator_1 = FocusFixDecorator;\n FocusFixDecorator.prototype.decorate = function (vnode, element) {\n if (vnode.sel && vnode.sel.startsWith('svg'))\n // allows to set focus in Firefox\n vnode_utils_1.setAttr(vnode, 'tabindex', ++FocusFixDecorator_1.tabIndex);\n return vnode;\n };\n FocusFixDecorator.prototype.postUpdate = function () {\n };\n FocusFixDecorator.tabIndex = 1000;\n FocusFixDecorator = FocusFixDecorator_1 = __decorate([\n inversify_1.injectable()\n ], FocusFixDecorator);\n return FocusFixDecorator;\n var FocusFixDecorator_1;\n}());\nexports.FocusFixDecorator = FocusFixDecorator;\n//# sourceMappingURL=vnode-decorators.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/vnode-decorators.js\n// module id = 135\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar abstract_layout_1 = require(\"./abstract-layout\");\n/**\n * Layouts children of a container in horizontal (left->right) direction.\n */\nvar HBoxLayouter = /** @class */ (function (_super) {\n __extends(HBoxLayouter, _super);\n function HBoxLayouter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HBoxLayouter.prototype.getChildrenSize = function (container, containerOptions, layouter) {\n var maxWidth = 0;\n var maxHeight = -1;\n var isFirst = true;\n container.children.forEach(function (child) {\n var bounds = layouter.getBoundsData(child).bounds;\n if (bounds !== undefined && geometry_1.isValidDimension(bounds)) {\n if (isFirst)\n isFirst = false;\n else\n maxWidth += containerOptions.hGap;\n maxWidth += bounds.width;\n maxHeight = Math.max(maxHeight, bounds.height);\n }\n });\n return {\n width: maxWidth,\n height: maxHeight\n };\n };\n HBoxLayouter.prototype.layoutChild = function (child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight) {\n var dy = this.getDy(childOptions.vAlign, bounds, maxHeight);\n boundsData.bounds = {\n x: currentOffset.x + child.bounds.x - bounds.x,\n y: containerOptions.paddingTop + child.bounds.y - bounds.y + dy,\n width: bounds.width,\n height: bounds.height\n };\n boundsData.boundsChanged = true;\n return {\n x: currentOffset.x + bounds.width + containerOptions.hGap,\n y: currentOffset.y\n };\n };\n HBoxLayouter.prototype.getDefaultLayoutOptions = function () {\n return {\n resizeContainer: true,\n paddingTop: 5,\n paddingBottom: 5,\n paddingLeft: 5,\n paddingRight: 5,\n paddingFactor: 1,\n hGap: 1,\n vAlign: 'center'\n };\n };\n HBoxLayouter.prototype.spread = function (a, b) {\n return __assign({}, a, b);\n };\n HBoxLayouter.KIND = 'hbox';\n return HBoxLayouter;\n}(abstract_layout_1.AbstractLayout));\nexports.HBoxLayouter = HBoxLayouter;\n//# sourceMappingURL=hbox-layout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/hbox-layout.js\n// module id = 136\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar abstract_layout_1 = require(\"./abstract-layout\");\nvar StackLayouter = /** @class */ (function (_super) {\n __extends(StackLayouter, _super);\n function StackLayouter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StackLayouter.prototype.getChildrenSize = function (container, options, layouter) {\n var maxWidth = -1;\n var maxHeight = -1;\n container.children.forEach(function (child) {\n var bounds = layouter.getBoundsData(child).bounds;\n if (bounds !== undefined && geometry_1.isValidDimension(bounds)) {\n maxWidth = Math.max(maxWidth, bounds.width);\n maxHeight = Math.max(maxHeight, bounds.height);\n }\n });\n return {\n width: maxWidth,\n height: maxHeight\n };\n };\n StackLayouter.prototype.layoutChild = function (child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight) {\n var dx = this.getDx(childOptions.hAlign, bounds, maxWidth);\n var dy = this.getDy(childOptions.vAlign, bounds, maxHeight);\n boundsData.bounds = {\n x: containerOptions.paddingLeft + child.bounds.x - bounds.x + dx,\n y: containerOptions.paddingTop + child.bounds.y - bounds.y + dy,\n width: bounds.width,\n height: bounds.height\n };\n boundsData.boundsChanged = true;\n return currentOffset;\n };\n StackLayouter.prototype.getDefaultLayoutOptions = function () {\n return {\n resizeContainer: true,\n paddingTop: 5,\n paddingBottom: 5,\n paddingLeft: 5,\n paddingRight: 5,\n paddingFactor: 1,\n hAlign: 'center',\n vAlign: 'center'\n };\n };\n StackLayouter.prototype.spread = function (a, b) {\n return __assign({}, a, b);\n };\n StackLayouter.KIND = 'stack';\n return StackLayouter;\n}(abstract_layout_1.AbstractLayout));\nexports.StackLayouter = StackLayouter;\n//# sourceMappingURL=stack-layout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/stack-layout.js\n// module id = 137\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar geometry_1 = require(\"../../utils/geometry\");\nvar abstract_layout_1 = require(\"./abstract-layout\");\n/**\n * Layouts children of a container in vertical (top->bottom) direction.\n */\nvar VBoxLayouter = /** @class */ (function (_super) {\n __extends(VBoxLayouter, _super);\n function VBoxLayouter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VBoxLayouter.prototype.getChildrenSize = function (container, containerOptions, layouter) {\n var maxWidth = -1;\n var maxHeight = 0;\n var isFirst = true;\n container.children.forEach(function (child) {\n var bounds = layouter.getBoundsData(child).bounds;\n if (bounds !== undefined && geometry_1.isValidDimension(bounds)) {\n maxHeight += bounds.height;\n if (isFirst)\n isFirst = false;\n else\n maxHeight += containerOptions.vGap;\n maxWidth = Math.max(maxWidth, bounds.width);\n }\n });\n return {\n width: maxWidth,\n height: maxHeight\n };\n };\n VBoxLayouter.prototype.layoutChild = function (child, boundsData, bounds, childOptions, containerOptions, currentOffset, maxWidth, maxHeight) {\n var dx = this.getDx(childOptions.hAlign, bounds, maxWidth);\n boundsData.bounds = {\n x: containerOptions.paddingLeft + child.bounds.x - bounds.x + dx,\n y: currentOffset.y + child.bounds.y - bounds.y,\n width: bounds.width,\n height: bounds.height\n };\n boundsData.boundsChanged = true;\n return {\n x: currentOffset.x,\n y: currentOffset.y + bounds.height + containerOptions.vGap\n };\n };\n VBoxLayouter.prototype.getDefaultLayoutOptions = function () {\n return {\n resizeContainer: true,\n paddingTop: 5,\n paddingBottom: 5,\n paddingLeft: 5,\n paddingRight: 5,\n paddingFactor: 1,\n vGap: 1,\n hAlign: 'center'\n };\n };\n VBoxLayouter.prototype.spread = function (a, b) {\n return __assign({}, a, b);\n };\n VBoxLayouter.KIND = 'vbox';\n return VBoxLayouter;\n}(abstract_layout_1.AbstractLayout));\nexports.VBoxLayouter = VBoxLayouter;\n//# sourceMappingURL=vbox-layout.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/vbox-layout.js\n// module id = 138\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar command_1 = require(\"../../base/commands/command\");\nvar model_1 = require(\"../select/model\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar key_tool_1 = require(\"../../base/views/key-tool\");\nvar browser_1 = require(\"../../utils/browser\");\nvar model_2 = require(\"./model\");\nvar inversify_1 = require(\"inversify\");\nvar svg_exporter_1 = require(\"./svg-exporter\");\nvar smodel_factory_1 = require(\"../../base/model/smodel-factory\");\nvar model_3 = require(\"../viewport/model\");\nvar model_4 = require(\"../hover/model\");\nvar types_1 = require(\"../../base/types\");\nvar ExportSvgKeyListener = /** @class */ (function (_super) {\n __extends(ExportSvgKeyListener, _super);\n function ExportSvgKeyListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExportSvgKeyListener.prototype.keyDown = function (element, event) {\n if (browser_1.isCtrlOrCmd(event) && event.keyCode === 69)\n return [new RequestExportSvgAction()];\n else\n return [];\n };\n ExportSvgKeyListener = __decorate([\n inversify_1.injectable()\n ], ExportSvgKeyListener);\n return ExportSvgKeyListener;\n}(key_tool_1.KeyListener));\nexports.ExportSvgKeyListener = ExportSvgKeyListener;\nvar RequestExportSvgAction = /** @class */ (function () {\n function RequestExportSvgAction() {\n this.kind = ExportSvgCommand.KIND;\n }\n return RequestExportSvgAction;\n}());\nexports.RequestExportSvgAction = RequestExportSvgAction;\nvar ExportSvgCommand = /** @class */ (function (_super) {\n __extends(ExportSvgCommand, _super);\n function ExportSvgCommand() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExportSvgCommand.prototype.execute = function (context) {\n if (model_2.isExportable(context.root)) {\n var root = context.modelFactory.createRoot(context.modelFactory.createSchema(context.root));\n if (model_2.isExportable(root)) {\n root.export = true;\n if (model_3.isViewport(root)) {\n root.zoom = 1;\n root.scroll = {\n x: 0,\n y: 0\n };\n }\n root.index.all().forEach(function (element) {\n if (model_1.isSelectable(element) && element.selected)\n element.selected = false;\n if (model_4.isHoverable(element) && element.hoverFeedback)\n element.hoverFeedback = false;\n });\n return root;\n }\n }\n return context.modelFactory.createRoot(smodel_factory_1.EMPTY_ROOT);\n };\n ExportSvgCommand.KIND = 'requestExportSvg';\n return ExportSvgCommand;\n}(command_1.HiddenCommand));\nexports.ExportSvgCommand = ExportSvgCommand;\nvar ExportSvgDecorator = /** @class */ (function () {\n function ExportSvgDecorator(svgExporter) {\n this.svgExporter = svgExporter;\n }\n ExportSvgDecorator.prototype.decorate = function (vnode, element) {\n if (element instanceof smodel_1.SModelRoot)\n this.root = element;\n return vnode;\n };\n ExportSvgDecorator.prototype.postUpdate = function () {\n if (this.root && model_2.isExportable(this.root) && this.root.export)\n this.svgExporter.export(this.root);\n };\n ExportSvgDecorator = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.SvgExporter)),\n __metadata(\"design:paramtypes\", [svg_exporter_1.SvgExporter])\n ], ExportSvgDecorator);\n return ExportSvgDecorator;\n}());\nexports.ExportSvgDecorator = ExportSvgDecorator;\n//# sourceMappingURL=export.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/export/export.js\n// module id = 139\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.openFeature = Symbol('openFeature');\nfunction isOpenable(element) {\n return element.hasFeature(exports.openFeature);\n}\nexports.isOpenable = isOpenable;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/open/model.js\n// module id = 140\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar browser_1 = require(\"../../utils/browser\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar command_1 = require(\"../../base/commands/command\");\nvar sgraph_1 = require(\"../../graph/sgraph\");\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar key_tool_1 = require(\"../../base/views/key-tool\");\nvar vnode_utils_1 = require(\"../../base/views/vnode-utils\");\nvar model_1 = require(\"./model\");\nvar button_handler_1 = require(\"../button/button-handler\");\nvar inversify_1 = require(\"inversify\");\nvar model_2 = require(\"../button/model\");\n/**\n * Triggered when the user changes the selection, e.g. by clicking on a selectable element. The resulting\n * SelectCommand changes the `selected` state accordingly, so the elements can be rendered differently.\n * This action is also forwarded to the diagram server, if present, so it may react on the selection change.\n * Furthermore, the server can send such an action to the client in order to change the selection programmatically.\n */\nvar SelectAction = /** @class */ (function () {\n function SelectAction(selectedElementsIDs, deselectedElementsIDs) {\n if (selectedElementsIDs === void 0) { selectedElementsIDs = []; }\n if (deselectedElementsIDs === void 0) { deselectedElementsIDs = []; }\n this.selectedElementsIDs = selectedElementsIDs;\n this.deselectedElementsIDs = deselectedElementsIDs;\n this.kind = SelectCommand.KIND;\n }\n return SelectAction;\n}());\nexports.SelectAction = SelectAction;\n/**\n * Programmatic action for selecting or deselecting all elements.\n */\nvar SelectAllAction = /** @class */ (function () {\n /**\n * If `select` is true, all elements are selected, othewise they are deselected.\n */\n function SelectAllAction(select) {\n if (select === void 0) { select = true; }\n this.select = select;\n this.kind = SelectAllCommand.KIND;\n }\n return SelectAllAction;\n}());\nexports.SelectAllAction = SelectAllAction;\nvar SelectCommand = /** @class */ (function (_super) {\n __extends(SelectCommand, _super);\n function SelectCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n _this.selected = [];\n _this.deselected = [];\n return _this;\n }\n SelectCommand.prototype.execute = function (context) {\n var _this = this;\n var selectedNodeIds = [];\n var model = context.root;\n this.action.selectedElementsIDs.forEach(function (id) {\n var element = model.index.getById(id);\n if (element instanceof smodel_1.SChildElement && model_1.isSelectable(element)) {\n _this.selected.push({\n element: element,\n index: element.parent.children.indexOf(element)\n });\n if (element instanceof sgraph_1.SNode)\n selectedNodeIds.push(id);\n }\n });\n if (selectedNodeIds.length > 0) {\n var connectedEdges_1 = [];\n model.index.all().forEach(function (element) {\n if (element instanceof sgraph_1.SEdge\n && (selectedNodeIds.indexOf(element.sourceId) >= 0\n || selectedNodeIds.indexOf(element.targetId) >= 0)) {\n connectedEdges_1.push({\n element: element,\n index: element.parent.children.indexOf(element)\n });\n }\n });\n this.selected = connectedEdges_1.concat(this.selected);\n }\n this.action.deselectedElementsIDs.forEach(function (id) {\n var element = model.index.getById(id);\n if (element instanceof smodel_1.SChildElement && model_1.isSelectable(element)) {\n _this.deselected.push({\n element: element,\n index: element.parent.children.indexOf(element)\n });\n }\n });\n return this.redo(context);\n };\n SelectCommand.prototype.undo = function (context) {\n for (var i = this.selected.length - 1; i >= 0; --i) {\n var selection = this.selected[i];\n var element = selection.element;\n if (model_1.isSelectable(element))\n element.selected = false;\n element.parent.move(element, selection.index);\n }\n this.deselected.reverse().forEach(function (selection) {\n if (model_1.isSelectable(selection.element))\n selection.element.selected = true;\n });\n return context.root;\n };\n SelectCommand.prototype.redo = function (context) {\n for (var i = 0; i < this.selected.length; ++i) {\n var selection = this.selected[i];\n var element = selection.element;\n var childrenLength = element.parent.children.length;\n element.parent.move(element, childrenLength - 1);\n }\n this.deselected.forEach(function (selection) {\n if (model_1.isSelectable(selection.element))\n selection.element.selected = false;\n });\n this.selected.forEach(function (selection) {\n if (model_1.isSelectable(selection.element))\n selection.element.selected = true;\n });\n return context.root;\n };\n SelectCommand.KIND = 'elementSelected';\n return SelectCommand;\n}(command_1.Command));\nexports.SelectCommand = SelectCommand;\nvar SelectAllCommand = /** @class */ (function (_super) {\n __extends(SelectAllCommand, _super);\n function SelectAllCommand(action) {\n var _this = _super.call(this) || this;\n _this.action = action;\n _this.previousSelection = {};\n return _this;\n }\n SelectAllCommand.prototype.execute = function (context) {\n this.selectAll(context.root, this.action.select);\n return context.root;\n };\n SelectAllCommand.prototype.selectAll = function (element, newState) {\n if (model_1.isSelectable(element)) {\n this.previousSelection[element.id] = element.selected;\n element.selected = newState;\n }\n for (var _i = 0, _a = element.children; _i < _a.length; _i++) {\n var child = _a[_i];\n this.selectAll(child, newState);\n }\n };\n SelectAllCommand.prototype.undo = function (context) {\n var index = context.root.index;\n for (var id in this.previousSelection) {\n var element = index.getById(id);\n if (element !== undefined && model_1.isSelectable(element))\n element.selected = this.previousSelection[id];\n }\n return context.root;\n };\n SelectAllCommand.prototype.redo = function (context) {\n this.selectAll(context.root, this.action.select);\n return context.root;\n };\n SelectAllCommand.KIND = 'allSelected';\n return SelectAllCommand;\n}(command_1.Command));\nexports.SelectAllCommand = SelectAllCommand;\nvar SelectMouseListener = /** @class */ (function (_super) {\n __extends(SelectMouseListener, _super);\n function SelectMouseListener(buttonHandlerRegistry) {\n var _this = _super.call(this) || this;\n _this.buttonHandlerRegistry = buttonHandlerRegistry;\n _this.wasSelected = false;\n _this.hasDragged = false;\n return _this;\n }\n SelectMouseListener.prototype.mouseDown = function (target, event) {\n if (event.button === 0) {\n if (this.buttonHandlerRegistry !== undefined && target instanceof model_2.SButton && target.enabled) {\n var buttonHandler = this.buttonHandlerRegistry.get(target.type);\n if (buttonHandler !== undefined)\n return buttonHandler.buttonPressed(target);\n }\n var selectableTarget = smodel_utils_1.findParentByFeature(target, model_1.isSelectable);\n if (selectableTarget !== undefined || target instanceof smodel_1.SModelRoot) {\n this.hasDragged = false;\n var deselectIds = [];\n // multi-selection?\n if (!browser_1.isCtrlOrCmd(event)) {\n deselectIds = target.root\n .index\n .all()\n .filter(function (element) { return model_1.isSelectable(element) && element.selected; })\n .map(function (element) { return element.id; });\n }\n if (selectableTarget !== undefined) {\n if (!selectableTarget.selected) {\n this.wasSelected = false;\n return [new SelectAction([selectableTarget.id], deselectIds)];\n }\n else {\n if (browser_1.isCtrlOrCmd(event)) {\n this.wasSelected = false;\n return [new SelectAction([], [selectableTarget.id])];\n }\n else {\n this.wasSelected = true;\n }\n }\n }\n else {\n return [new SelectAction([], deselectIds)];\n }\n }\n }\n return [];\n };\n SelectMouseListener.prototype.mouseMove = function (target, event) {\n this.hasDragged = true;\n return [];\n };\n SelectMouseListener.prototype.mouseUp = function (target, event) {\n if (event.button === 0) {\n if (!this.hasDragged) {\n var selectableTarget = smodel_utils_1.findParentByFeature(target, model_1.isSelectable);\n if (selectableTarget !== undefined && this.wasSelected) {\n return [new SelectAction([selectableTarget.id], [])];\n }\n }\n }\n this.hasDragged = false;\n return [];\n };\n SelectMouseListener.prototype.decorate = function (vnode, element) {\n var selectableTarget = smodel_utils_1.findParentByFeature(element, model_1.isSelectable);\n if (selectableTarget !== undefined)\n vnode_utils_1.setClass(vnode, 'selected', selectableTarget.selected);\n return vnode;\n };\n SelectMouseListener = __decorate([\n __param(0, inversify_1.inject(button_handler_1.ButtonHandlerRegistry)), __param(0, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [button_handler_1.ButtonHandlerRegistry])\n ], SelectMouseListener);\n return SelectMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.SelectMouseListener = SelectMouseListener;\nvar SelectKeyboardListener = /** @class */ (function (_super) {\n __extends(SelectKeyboardListener, _super);\n function SelectKeyboardListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectKeyboardListener.prototype.keyDown = function (element, event) {\n if (browser_1.isCtrlOrCmd(event) && event.keyCode === 65) {\n return [new SelectAction(element.root.index.all().filter(function (e) { return model_1.isSelectable(e); }).map(function (e) { return e.id; }), [])];\n }\n return [];\n };\n return SelectKeyboardListener;\n}(key_tool_1.KeyListener));\nexports.SelectKeyboardListener = SelectKeyboardListener;\n//# sourceMappingURL=select.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/select/select.js\n// module id = 141\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar viewport_1 = require(\"./viewport\");\nvar model_1 = require(\"./model\");\nvar model_2 = require(\"../move/model\");\nfunction isScrollable(element) {\n return 'scroll' in element;\n}\nexports.isScrollable = isScrollable;\nvar ScrollMouseListener = /** @class */ (function (_super) {\n __extends(ScrollMouseListener, _super);\n function ScrollMouseListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScrollMouseListener.prototype.mouseDown = function (target, event) {\n var selectable = smodel_utils_1.findParentByFeature(target, model_2.isMoveable);\n if (selectable === undefined) {\n var viewport = smodel_utils_1.findParentByFeature(target, model_1.isViewport);\n if (viewport)\n this.lastScrollPosition = { x: event.pageX, y: event.pageY };\n else\n this.lastScrollPosition = undefined;\n }\n return [];\n };\n ScrollMouseListener.prototype.mouseMove = function (target, event) {\n if (event.buttons === 0)\n this.mouseUp(target, event);\n else if (this.lastScrollPosition) {\n var viewport = smodel_utils_1.findParentByFeature(target, model_1.isViewport);\n if (viewport) {\n var dx = (event.pageX - this.lastScrollPosition.x) / viewport.zoom;\n var dy = (event.pageY - this.lastScrollPosition.y) / viewport.zoom;\n var newViewport = {\n scroll: {\n x: viewport.scroll.x - dx,\n y: viewport.scroll.y - dy,\n },\n zoom: viewport.zoom\n };\n this.lastScrollPosition = { x: event.pageX, y: event.pageY };\n return [new viewport_1.ViewportAction(viewport.id, newViewport, false)];\n }\n }\n return [];\n };\n ScrollMouseListener.prototype.mouseEnter = function (target, event) {\n if (target instanceof smodel_1.SModelRoot && event.buttons === 0)\n this.mouseUp(target, event);\n return [];\n };\n ScrollMouseListener.prototype.mouseUp = function (target, event) {\n this.lastScrollPosition = undefined;\n return [];\n };\n return ScrollMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.ScrollMouseListener = ScrollMouseListener;\n//# sourceMappingURL=scroll.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/scroll.js\n// module id = 142\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mouse_tool_1 = require(\"../../base/views/mouse-tool\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar viewport_1 = require(\"./viewport\");\nvar model_1 = require(\"./model\");\nfunction isZoomable(element) {\n return 'zoom' in element;\n}\nexports.isZoomable = isZoomable;\nvar ZoomMouseListener = /** @class */ (function (_super) {\n __extends(ZoomMouseListener, _super);\n function ZoomMouseListener() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZoomMouseListener.prototype.wheel = function (target, event) {\n var viewport = smodel_utils_1.findParentByFeature(target, model_1.isViewport);\n if (viewport) {\n var newZoom = Math.exp(-event.deltaY * 0.005);\n var factor = 1. / (newZoom * viewport.zoom) - 1. / viewport.zoom;\n var newViewport = {\n scroll: {\n x: -(factor * event.offsetX - viewport.scroll.x),\n y: -(factor * event.offsetY - viewport.scroll.y)\n },\n zoom: viewport.zoom * newZoom\n };\n return [new viewport_1.ViewportAction(viewport.id, newViewport, false)];\n }\n return [];\n };\n return ZoomMouseListener;\n}(mouse_tool_1.MouseListener));\nexports.ZoomMouseListener = ZoomMouseListener;\n//# sourceMappingURL=zoom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/zoom.js\n// module id = 143\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar geometry_1 = require(\"../utils/geometry\");\nvar vnode_utils_1 = require(\"../base/views/vnode-utils\");\nvar smodel_utils_1 = require(\"../base/model/smodel-utils\");\nvar JSX = { createElement: snabbdom.svg };\n/**\n * IView component that turns an SGraph element and its children into a tree of virtual DOM elements.\n */\nvar SGraphView = /** @class */ (function () {\n function SGraphView() {\n }\n SGraphView.prototype.render = function (model, context) {\n var transform = \"scale(\" + model.zoom + \") translate(\" + -model.scroll.x + \",\" + -model.scroll.y + \")\";\n return JSX.createElement(\"svg\", { \"class-sprotty-graph\": true },\n JSX.createElement(\"g\", { transform: transform }, context.renderChildren(model)));\n };\n return SGraphView;\n}());\nexports.SGraphView = SGraphView;\nvar AnchorableView = /** @class */ (function () {\n function AnchorableView() {\n }\n AnchorableView.prototype.getStrokeWidth = function (model) {\n return 0;\n };\n AnchorableView.prototype.getTranslatedAnchor = function (node, refPoint, refContainer, anchorCorrection, edge) {\n if (anchorCorrection === void 0) { anchorCorrection = 0; }\n var viewContainer = node.parent;\n var anchor = this.getAnchor(node, smodel_utils_1.translatePoint(refPoint, refContainer, viewContainer), anchorCorrection);\n var edgeContainer = edge.parent;\n return smodel_utils_1.translatePoint(anchor, viewContainer, edgeContainer);\n };\n return AnchorableView;\n}());\nexports.AnchorableView = AnchorableView;\nvar PolylineEdgeView = /** @class */ (function () {\n function PolylineEdgeView() {\n this.minimalPointDistance = 2;\n }\n PolylineEdgeView.prototype.render = function (edge, context) {\n var source = edge.source;\n if (source === undefined)\n return this.renderDanglingEdge(\"Cannot resolve source\", edge, context);\n var target = edge.target;\n if (target === undefined)\n return this.renderDanglingEdge(\"Cannot resolve target\", edge, context);\n var sourceView = context.viewRegistry.get(source.type, source);\n if (!(sourceView instanceof AnchorableView))\n return this.renderDanglingEdge(\"Expected source view type: AnchorableView\", edge, context);\n var targetView = context.viewRegistry.get(target.type, target);\n if (!(targetView instanceof AnchorableView))\n return this.renderDanglingEdge(\"Expected target view type: AnchorableView\", edge, context);\n var segments = this.computeSegments(edge, source, sourceView, target, targetView);\n return JSX.createElement(\"g\", null,\n this.renderLine(edge, segments, context),\n this.renderAdditionals(edge, segments, context),\n context.renderChildren(edge));\n };\n PolylineEdgeView.prototype.computeSegments = function (edge, source, sourceView, target, targetView) {\n var sourceAnchor;\n if (edge.routingPoints !== undefined && edge.routingPoints.length >= 1) {\n // Use the first routing point as start anchor reference\n var p0 = edge.routingPoints[0];\n sourceAnchor = sourceView.getTranslatedAnchor(source, p0, edge.parent, this.getSourceAnchorCorrection(edge), edge);\n }\n else {\n // Use the target center as start anchor reference\n var reference = geometry_1.center(target.bounds);\n sourceAnchor = sourceView.getTranslatedAnchor(source, reference, target.parent, this.getSourceAnchorCorrection(edge), edge);\n }\n var result = [sourceAnchor];\n var previousPoint = sourceAnchor;\n for (var i = 0; i < edge.routingPoints.length - 1; i++) {\n var p = edge.routingPoints[i];\n var minDistance = this.minimalPointDistance + ((i === 0)\n ? this.getSourceAnchorCorrection(edge) + sourceView.getStrokeWidth(source)\n : 0);\n if (geometry_1.maxDistance(previousPoint, p) >= minDistance) {\n result.push(p);\n previousPoint = p;\n }\n }\n var targetAnchor;\n if (edge.routingPoints && edge.routingPoints.length >= 2) {\n // Use the last routing point as end anchor reference\n var pn = edge.routingPoints[edge.routingPoints.length - 1];\n targetAnchor = targetView.getTranslatedAnchor(target, pn, edge.parent, this.getTargetAnchorCorrection(edge), edge);\n var minDistance = this.minimalPointDistance + this.getTargetAnchorCorrection(edge) + targetView.getStrokeWidth(source);\n if (geometry_1.maxDistance(previousPoint, pn) >= this.minimalPointDistance\n && geometry_1.maxDistance(pn, targetAnchor) >= minDistance) {\n result.push(pn);\n }\n }\n else {\n // Use the source center as end anchor reference\n var reference = geometry_1.center(source.bounds);\n targetAnchor = targetView.getTranslatedAnchor(target, reference, source.parent, this.getTargetAnchorCorrection(edge), edge);\n }\n result.push(targetAnchor);\n return result;\n };\n PolylineEdgeView.prototype.renderLine = function (edge, segments, context) {\n var firstPoint = segments[0];\n var path = \"M \" + firstPoint.x + \",\" + firstPoint.y;\n for (var i = 1; i < segments.length; i++) {\n var p = segments[i];\n path += \" L \" + p.x + \",\" + p.y;\n }\n return JSX.createElement(\"path\", { \"class-sprotty-edge\": true, d: path });\n };\n PolylineEdgeView.prototype.renderAdditionals = function (edge, segments, context) {\n return [];\n };\n PolylineEdgeView.prototype.renderDanglingEdge = function (message, edge, context) {\n return JSX.createElement(\"text\", { \"class-sprotty-edge-dangling\": true, title: message }, \"?\");\n };\n PolylineEdgeView.prototype.getSourceAnchorCorrection = function (edge) {\n return 0;\n };\n PolylineEdgeView.prototype.getTargetAnchorCorrection = function (edge) {\n return 0;\n };\n return PolylineEdgeView;\n}());\nexports.PolylineEdgeView = PolylineEdgeView;\nvar SLabelView = /** @class */ (function () {\n function SLabelView() {\n }\n SLabelView.prototype.render = function (label, context) {\n var vnode = JSX.createElement(\"text\", { \"class-sprotty-label\": true }, label.text);\n var subType = smodel_utils_1.getSubType(label);\n if (subType)\n vnode_utils_1.setAttr(vnode, 'class', subType);\n return vnode;\n };\n return SLabelView;\n}());\nexports.SLabelView = SLabelView;\nvar SCompartmentView = /** @class */ (function () {\n function SCompartmentView() {\n }\n SCompartmentView.prototype.render = function (model, context) {\n var translate = \"translate(\" + model.bounds.x + \", \" + model.bounds.y + \")\";\n var vnode = JSX.createElement(\"g\", { transform: translate, \"class-sprotty-comp\": \"{true}\" }, context.renderChildren(model));\n var subType = smodel_utils_1.getSubType(model);\n if (subType)\n vnode_utils_1.setAttr(vnode, 'class', subType);\n return vnode;\n };\n return SCompartmentView;\n}());\nexports.SCompartmentView = SCompartmentView;\n//# sourceMappingURL=views.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/graph/views.js\n// module id = 144\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../base/types\");\nvar smodel_1 = require(\"../base/model/smodel\");\nvar smodel_storage_1 = require(\"../base/model/smodel-storage\");\nvar action_handler_1 = require(\"../base/actions/action-handler\");\nvar set_model_1 = require(\"../base/features/set-model\");\nvar update_model_1 = require(\"../features/update/update-model\");\nvar bounds_manipulation_1 = require(\"../features/bounds/bounds-manipulation\");\nvar hover_1 = require(\"../features/hover/hover\");\nvar model_source_1 = require(\"./model-source\");\nvar svg_exporter_1 = require(\"../features/export/svg-exporter\");\nvar file_saver_1 = require(\"file-saver\");\nvar expand_1 = require(\"../features/expand/expand\");\nvar open_1 = require(\"../features/open/open\");\nfunction isActionMessage(object) {\n return object !== undefined && object.hasOwnProperty('clientId') && object.hasOwnProperty('action');\n}\nexports.isActionMessage = isActionMessage;\n/**\n * Sent by the external server when to signal a state change.\n */\nvar ServerStatusAction = /** @class */ (function () {\n function ServerStatusAction() {\n this.kind = ServerStatusAction.KIND;\n }\n ServerStatusAction.KIND = 'serverStatus';\n return ServerStatusAction;\n}());\nexports.ServerStatusAction = ServerStatusAction;\nvar receivedFromServerProperty = '__receivedFromServer';\n/**\n * A ModelSource that communicates with an external model provider, e.g.\n * a model editor.\n *\n * This class defines which actions are sent to and received from the\n * external model source.\n */\nvar DiagramServer = /** @class */ (function (_super) {\n __extends(DiagramServer, _super);\n function DiagramServer(actionDispatcher, actionHandlerRegistry, viewerOptions, storage, logger) {\n var _this = _super.call(this, actionDispatcher, actionHandlerRegistry, viewerOptions) || this;\n _this.storage = storage;\n _this.logger = logger;\n _this.currentRoot = {\n type: 'NONE',\n id: 'ROOT'\n };\n _this.clientId = _this.viewerOptions.baseDiv;\n return _this;\n }\n DiagramServer.prototype.initialize = function (registry) {\n _super.prototype.initialize.call(this, registry);\n // Register model manipulation commands\n registry.registerCommand(update_model_1.UpdateModelCommand);\n // Register this model source\n registry.register(bounds_manipulation_1.ComputedBoundsAction.KIND, this);\n registry.register(bounds_manipulation_1.RequestBoundsCommand.KIND, this);\n registry.register(hover_1.RequestPopupModelAction.KIND, this);\n registry.register(expand_1.CollapseExpandAction.KIND, this);\n registry.register(expand_1.CollapseExpandAllAction.KIND, this);\n registry.register(open_1.OpenAction.KIND, this);\n registry.register(ServerStatusAction.KIND, this);\n };\n DiagramServer.prototype.handle = function (action) {\n var forwardToServer = this.handleLocally(action);\n if (forwardToServer) {\n var message = {\n clientId: this.clientId,\n action: action\n };\n this.logger.log(this, 'sending', message);\n this.sendMessage(message);\n }\n };\n DiagramServer.prototype.messageReceived = function (data) {\n var object = typeof (data) === 'string' ? JSON.parse(data) : data;\n if (isActionMessage(object) && object.action) {\n if (!object.clientId || object.clientId === this.clientId) {\n this.logger.log(this, 'receiving', object);\n object.action[receivedFromServerProperty] = true;\n this.actionDispatcher.dispatch(object.action, this.storeNewModel.bind(this));\n }\n }\n else {\n this.logger.error(this, 'received data is not an action message', object);\n }\n };\n /**\n * Check whether the given action should be handled locally. Returns true if the action should\n * still be sent to the server, and false if it's only handled locally.\n */\n DiagramServer.prototype.handleLocally = function (action) {\n this.storeNewModel(action);\n switch (action.kind) {\n case bounds_manipulation_1.ComputedBoundsAction.KIND:\n return this.handleComputedBounds(action);\n case bounds_manipulation_1.RequestBoundsCommand.KIND:\n return false;\n case svg_exporter_1.ExportSvgAction.KIND:\n return this.handleExportSvgAction(action);\n case ServerStatusAction.KIND:\n return this.handleServerStateAction(action);\n }\n return !action[receivedFromServerProperty];\n };\n /**\n * Put the new model contained in the given action into the model storage, if there is any.\n */\n DiagramServer.prototype.storeNewModel = function (action) {\n if (action.kind === set_model_1.SetModelCommand.KIND\n || action.kind === update_model_1.UpdateModelCommand.KIND\n || action.kind === bounds_manipulation_1.RequestBoundsCommand.KIND) {\n var newRoot = action.newRoot;\n if (newRoot) {\n this.currentRoot = newRoot;\n this.storage.store(this.currentRoot);\n }\n }\n };\n /**\n * If the server requires to compute a layout, the computed bounds are forwarded. Otherwise they\n * are applied to the current model locally and a model update is triggered.\n */\n DiagramServer.prototype.handleComputedBounds = function (action) {\n if (this.viewerOptions.needsServerLayout) {\n return true;\n }\n else {\n var index = new smodel_1.SModelIndex();\n index.add(this.currentRoot);\n for (var _i = 0, _a = action.bounds; _i < _a.length; _i++) {\n var b = _a[_i];\n var element = index.getById(b.elementId);\n if (element !== undefined)\n this.applyBounds(element, b.newBounds);\n }\n if (action.alignments !== undefined) {\n for (var _b = 0, _c = action.alignments; _b < _c.length; _b++) {\n var a = _c[_b];\n var element = index.getById(a.elementId);\n if (element !== undefined)\n this.applyAlignment(element, a.newAlignment);\n }\n }\n this.actionDispatcher.dispatch(new update_model_1.UpdateModelAction(this.currentRoot));\n return false;\n }\n };\n DiagramServer.prototype.applyBounds = function (element, newBounds) {\n var e = element;\n e.position = { x: newBounds.x, y: newBounds.y };\n e.size = { width: newBounds.width, height: newBounds.height };\n };\n DiagramServer.prototype.applyAlignment = function (element, newAlignment) {\n var e = element;\n e.alignment = { x: newAlignment.x, y: newAlignment.y };\n };\n DiagramServer.prototype.handleExportSvgAction = function (action) {\n var blob = new Blob([action.svg], { type: \"text/plain;charset=utf-8\" });\n file_saver_1.saveAs(blob, \"diagram.svg\");\n return false;\n };\n DiagramServer.prototype.handleServerStateAction = function (action) {\n return false;\n };\n DiagramServer = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.ActionHandlerRegistry)),\n __param(2, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __param(3, inversify_1.inject(types_1.TYPES.SModelStorage)),\n __param(4, inversify_1.inject(types_1.TYPES.ILogger)),\n __metadata(\"design:paramtypes\", [Object, action_handler_1.ActionHandlerRegistry, Object, smodel_storage_1.SModelStorage, Object])\n ], DiagramServer);\n return DiagramServer;\n}(model_source_1.ModelSource));\nexports.DiagramServer = DiagramServer;\n//# sourceMappingURL=diagram-server.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/diagram-server.js\n// module id = 145\n// module chunks = 0","\"use strict\";\n/*\n* Copyright (C) 2017 TypeFox and others.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ExpansionState = /** @class */ (function () {\n function ExpansionState(root) {\n this.expandedElementIds = [];\n this.initialize(root);\n }\n ExpansionState.prototype.initialize = function (element) {\n var _this = this;\n if (element.expanded)\n this.expandedElementIds.push(element.id);\n if (element.children !== undefined)\n element.children.forEach(function (child) { return _this.initialize(child); });\n };\n ExpansionState.prototype.apply = function (action) {\n for (var _i = 0, _a = action.collapseIds; _i < _a.length; _i++) {\n var collapsed = _a[_i];\n var index = this.expandedElementIds.indexOf(collapsed);\n if (index !== -1)\n this.expandedElementIds.splice(index, 1);\n }\n for (var _b = 0, _c = action.expandIds; _b < _c.length; _b++) {\n var expanded = _c[_b];\n this.expandedElementIds.push(expanded);\n }\n };\n ExpansionState.prototype.collapseAll = function () {\n this.expandedElementIds = [];\n };\n return ExpansionState;\n}());\nexports.ExpansionState = ExpansionState;\n//# sourceMappingURL=diagram-state.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/diagram-state.js\n// module id = 146\n// module chunks = 0","import { vnode } from './vnode';\nimport * as is from './is';\nfunction addNS(data, children, sel) {\n data.ns = 'http://www.w3.org/2000/svg';\n if (sel !== 'foreignObject' && children !== undefined) {\n for (var i = 0; i < children.length; ++i) {\n var childData = children[i].data;\n if (childData !== undefined) {\n addNS(childData, children[i].children, children[i].sel);\n }\n }\n }\n}\nexport function h(sel, b, c) {\n var data = {}, children, text, i;\n if (c !== undefined) {\n data = b;\n if (is.array(c)) {\n children = c;\n }\n else if (is.primitive(c)) {\n text = c;\n }\n else if (c && c.sel) {\n children = [c];\n }\n }\n else if (b !== undefined) {\n if (is.array(b)) {\n children = b;\n }\n else if (is.primitive(b)) {\n text = b;\n }\n else if (b && b.sel) {\n children = [b];\n }\n else {\n data = b;\n }\n }\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n if (is.primitive(children[i]))\n children[i] = vnode(undefined, undefined, undefined, children[i], undefined);\n }\n }\n if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' &&\n (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {\n addNS(data, children, sel);\n }\n return vnode(sel, data, children, text, undefined);\n}\n;\nexport default h;\n//# sourceMappingURL=h.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/h.js\n// module id = 147\n// module chunks = 0","export var array = Array.isArray;\nexport function primitive(s) {\n return typeof s === 'string' || typeof s === 'number';\n}\n//# sourceMappingURL=is.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/is.js\n// module id = 148\n// module chunks = 0","import vnode from './vnode';\nimport * as is from './is';\nimport htmlDomApi from './htmldomapi';\nfunction isUndef(s) { return s === undefined; }\nfunction isDef(s) { return s !== undefined; }\nvar emptyNode = vnode('', {}, [], undefined, undefined);\nfunction sameVnode(vnode1, vnode2) {\n return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel;\n}\nfunction isVnode(vnode) {\n return vnode.sel !== undefined;\n}\nfunction createKeyToOldIdx(children, beginIdx, endIdx) {\n var i, map = {}, key, ch;\n for (i = beginIdx; i <= endIdx; ++i) {\n ch = children[i];\n if (ch != null) {\n key = ch.key;\n if (key !== undefined)\n map[key] = i;\n }\n }\n return map;\n}\nvar hooks = ['create', 'update', 'remove', 'destroy', 'pre', 'post'];\nexport { h } from './h';\nexport { thunk } from './thunk';\nexport function init(modules, domApi) {\n var i, j, cbs = {};\n var api = domApi !== undefined ? domApi : htmlDomApi;\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n var hook = modules[j][hooks[i]];\n if (hook !== undefined) {\n cbs[hooks[i]].push(hook);\n }\n }\n }\n function emptyNodeAt(elm) {\n var id = elm.id ? '#' + elm.id : '';\n var c = elm.className ? '.' + elm.className.split(' ').join('.') : '';\n return vnode(api.tagName(elm).toLowerCase() + id + c, {}, [], undefined, elm);\n }\n function createRmCb(childElm, listeners) {\n return function rmCb() {\n if (--listeners === 0) {\n var parent_1 = api.parentNode(childElm);\n api.removeChild(parent_1, childElm);\n }\n };\n }\n function createElm(vnode, insertedVnodeQueue) {\n var i, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.init)) {\n i(vnode);\n data = vnode.data;\n }\n }\n var children = vnode.children, sel = vnode.sel;\n if (sel === '!') {\n if (isUndef(vnode.text)) {\n vnode.text = '';\n }\n vnode.elm = api.createComment(vnode.text);\n }\n else if (sel !== undefined) {\n // Parse selector\n var hashIdx = sel.indexOf('#');\n var dotIdx = sel.indexOf('.', hashIdx);\n var hash = hashIdx > 0 ? hashIdx : sel.length;\n var dot = dotIdx > 0 ? dotIdx : sel.length;\n var tag = hashIdx !== -1 || dotIdx !== -1 ? sel.slice(0, Math.min(hash, dot)) : sel;\n var elm = vnode.elm = isDef(data) && isDef(i = data.ns) ? api.createElementNS(i, tag)\n : api.createElement(tag);\n if (hash < dot)\n elm.setAttribute('id', sel.slice(hash + 1, dot));\n if (dotIdx > 0)\n elm.setAttribute('class', sel.slice(dot + 1).replace(/\\./g, ' '));\n for (i = 0; i < cbs.create.length; ++i)\n cbs.create[i](emptyNode, vnode);\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n var ch = children[i];\n if (ch != null) {\n api.appendChild(elm, createElm(ch, insertedVnodeQueue));\n }\n }\n }\n else if (is.primitive(vnode.text)) {\n api.appendChild(elm, api.createTextNode(vnode.text));\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (i.create)\n i.create(emptyNode, vnode);\n if (i.insert)\n insertedVnodeQueue.push(vnode);\n }\n }\n else {\n vnode.elm = api.createTextNode(vnode.text);\n }\n return vnode.elm;\n }\n function addVnodes(parentElm, before, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (ch != null) {\n api.insertBefore(parentElm, createElm(ch, insertedVnodeQueue), before);\n }\n }\n }\n function invokeDestroyHook(vnode) {\n var i, j, data = vnode.data;\n if (data !== undefined) {\n if (isDef(i = data.hook) && isDef(i = i.destroy))\n i(vnode);\n for (i = 0; i < cbs.destroy.length; ++i)\n cbs.destroy[i](vnode);\n if (vnode.children !== undefined) {\n for (j = 0; j < vnode.children.length; ++j) {\n i = vnode.children[j];\n if (i != null && typeof i !== \"string\") {\n invokeDestroyHook(i);\n }\n }\n }\n }\n }\n function removeVnodes(parentElm, vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var i_1 = void 0, listeners = void 0, rm = void 0, ch = vnodes[startIdx];\n if (ch != null) {\n if (isDef(ch.sel)) {\n invokeDestroyHook(ch);\n listeners = cbs.remove.length + 1;\n rm = createRmCb(ch.elm, listeners);\n for (i_1 = 0; i_1 < cbs.remove.length; ++i_1)\n cbs.remove[i_1](ch, rm);\n if (isDef(i_1 = ch.data) && isDef(i_1 = i_1.hook) && isDef(i_1 = i_1.remove)) {\n i_1(ch, rm);\n }\n else {\n rm();\n }\n }\n else {\n api.removeChild(parentElm, ch.elm);\n }\n }\n }\n }\n function updateChildren(parentElm, oldCh, newCh, insertedVnodeQueue) {\n var oldStartIdx = 0, newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx;\n var idxInOld;\n var elmToMove;\n var before;\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (oldStartVnode == null) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode might have been moved left\n }\n else if (oldEndVnode == null) {\n oldEndVnode = oldCh[--oldEndIdx];\n }\n else if (newStartVnode == null) {\n newStartVnode = newCh[++newStartIdx];\n }\n else if (newEndVnode == null) {\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldStartVnode, newEndVnode)) {\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldStartVnode.elm, api.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n }\n else if (sameVnode(oldEndVnode, newStartVnode)) {\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);\n api.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n if (oldKeyToIdx === undefined) {\n oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx);\n }\n idxInOld = oldKeyToIdx[newStartVnode.key];\n if (isUndef(idxInOld)) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n newStartVnode = newCh[++newStartIdx];\n }\n else {\n elmToMove = oldCh[idxInOld];\n if (elmToMove.sel !== newStartVnode.sel) {\n api.insertBefore(parentElm, createElm(newStartVnode, insertedVnodeQueue), oldStartVnode.elm);\n }\n else {\n patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);\n oldCh[idxInOld] = undefined;\n api.insertBefore(parentElm, elmToMove.elm, oldStartVnode.elm);\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n }\n if (oldStartIdx <= oldEndIdx || newStartIdx <= newEndIdx) {\n if (oldStartIdx > oldEndIdx) {\n before = newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, before, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n }\n else {\n removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);\n }\n }\n }\n function patchVnode(oldVnode, vnode, insertedVnodeQueue) {\n var i, hook;\n if (isDef(i = vnode.data) && isDef(hook = i.hook) && isDef(i = hook.prepatch)) {\n i(oldVnode, vnode);\n }\n var elm = vnode.elm = oldVnode.elm;\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (oldVnode === vnode)\n return;\n if (vnode.data !== undefined) {\n for (i = 0; i < cbs.update.length; ++i)\n cbs.update[i](oldVnode, vnode);\n i = vnode.data.hook;\n if (isDef(i) && isDef(i = i.update))\n i(oldVnode, vnode);\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch)\n updateChildren(elm, oldCh, ch, insertedVnodeQueue);\n }\n else if (isDef(ch)) {\n if (isDef(oldVnode.text))\n api.setTextContent(elm, '');\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n }\n else if (isDef(oldCh)) {\n removeVnodes(elm, oldCh, 0, oldCh.length - 1);\n }\n else if (isDef(oldVnode.text)) {\n api.setTextContent(elm, '');\n }\n }\n else if (oldVnode.text !== vnode.text) {\n api.setTextContent(elm, vnode.text);\n }\n if (isDef(hook) && isDef(i = hook.postpatch)) {\n i(oldVnode, vnode);\n }\n }\n return function patch(oldVnode, vnode) {\n var i, elm, parent;\n var insertedVnodeQueue = [];\n for (i = 0; i < cbs.pre.length; ++i)\n cbs.pre[i]();\n if (!isVnode(oldVnode)) {\n oldVnode = emptyNodeAt(oldVnode);\n }\n if (sameVnode(oldVnode, vnode)) {\n patchVnode(oldVnode, vnode, insertedVnodeQueue);\n }\n else {\n elm = oldVnode.elm;\n parent = api.parentNode(elm);\n createElm(vnode, insertedVnodeQueue);\n if (parent !== null) {\n api.insertBefore(parent, vnode.elm, api.nextSibling(elm));\n removeVnodes(parent, [oldVnode], 0, 0);\n }\n }\n for (i = 0; i < insertedVnodeQueue.length; ++i) {\n insertedVnodeQueue[i].data.hook.insert(insertedVnodeQueue[i]);\n }\n for (i = 0; i < cbs.post.length; ++i)\n cbs.post[i]();\n return vnode;\n };\n}\n//# sourceMappingURL=snabbdom.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/snabbdom.js\n// module id = 149\n// module chunks = 0","export function vnode(sel, data, children, text, elm) {\n var key = data === undefined ? undefined : data.key;\n return { sel: sel, data: data, children: children,\n text: text, elm: elm, key: key };\n}\nexport default vnode;\n//# sourceMappingURL=vnode.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/vnode.js\n// module id = 150\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nmodule.exports = require('../modules/_core').Map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es6/map.js\n// module id = 151\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es6/promise.js\n// module id = 152\n// module chunks = 0","require('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nmodule.exports = require('../modules/_core').String;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es6/string.js\n// module id = 153\n// module chunks = 0","require('../modules/es6.symbol');\nrequire('../modules/es6.object.to-string');\nmodule.exports = require('../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/es6/symbol.js\n// module id = 154\n// module chunks = 0","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport 'reflect-metadata';\r\nimport { initializeSiriusDiagram } from './src/app/standalone';\r\n\r\ninitializeSiriusDiagram();\n\n\n// WEBPACK FOOTER //\n// ./index.ts","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_add-to-unscopables.js\n// module id = 156\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_array-includes.js\n// module id = 157\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection-strong.js\n// module id = 158\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_collection.js\n// module id = 159\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_enum-keys.js\n// module id = 160\n// module chunks = 0","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_inherit-if-required.js\n// module id = 161\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_invoke.js\n// module id = 162\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iobject.js\n// module id = 163\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array-iter.js\n// module id = 164\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_is-array.js\n// module id = 165\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-call.js\n// module id = 166\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_iter-create.js\n// module id = 167\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_microtask.js\n// module id = 168\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-dps.js\n// module id = 169\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gopn-ext.js\n// module id = 170\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_object-gpo.js\n// module id = 171\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_perform.js\n// module id = 172\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_promise-resolve.js\n// module id = 173\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_set-proto.js\n// module id = 174\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_species-constructor.js\n// module id = 175\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-repeat.js\n// module id = 176\n// module chunks = 0","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-trim.js\n// module id = 177\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_string-ws.js\n// module id = 178\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_to-object.js\n// module id = 179\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/_wks-define.js\n// module id = 180\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/core.get-iterator-method.js\n// module id = 181\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.array.iterator.js\n// module id = 182\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.map.js\n// module id = 183\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value);\n if (domain) domain.exit();\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.promise.js\n// module id = 184\n// module chunks = 0","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.match.js\n// module id = 185\n// module chunks = 0","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.replace.js\n// module id = 186\n// module chunks = 0","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.search.js\n// module id = 187\n// module chunks = 0","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = require('./_is-regexp');\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.regexp.split.js\n// module id = 188\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.anchor.js\n// module id = 189\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.big.js\n// module id = 190\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.blink.js\n// module id = 191\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.bold.js\n// module id = 192\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.code-point-at.js\n// module id = 193\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.ends-with.js\n// module id = 194\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fixed.js\n// module id = 195\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontcolor.js\n// module id = 196\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.fontsize.js\n// module id = 197\n// module chunks = 0","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.from-code-point.js\n// module id = 198\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.includes.js\n// module id = 199\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.italics.js\n// module id = 200\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.link.js\n// module id = 201\n// module chunks = 0","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.raw.js\n// module id = 202\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.repeat.js\n// module id = 203\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.small.js\n// module id = 204\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.starts-with.js\n// module id = 205\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.strike.js\n// module id = 206\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sub.js\n// module id = 207\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.sup.js\n// module id = 208\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.string.trim.js\n// module id = 209\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/modules/es6.symbol.js\n// module id = 210\n// module chunks = 0","var attrRE = /([\\w-]+)|=|(['\"])([.\\s\\S]*?)\\2/g;\nvar voidElements = require('void-elements');\n\nmodule.exports = function (tag) {\n var i = 0;\n var key;\n var expectingValueAfterEquals = true;\n var res = {\n type: 'tag',\n name: '',\n voidElement: false,\n attrs: {},\n children: []\n };\n\n tag.replace(attrRE, function (match) {\n if (match === '=') {\n expectingValueAfterEquals = true;\n i++;\n return;\n }\n\n if (!expectingValueAfterEquals) {\n if (key) {\n res.attrs[key] = key; // boolean attribute\n }\n key=match;\n } else {\n if (i === 0) {\n if (voidElements[match] || tag.charAt(tag.length - 2) === '/') {\n res.voidElement = true;\n }\n res.name = match;\n } else {\n res.attrs[key] = match.replace(/^['\"]|['\"]$/g, '');\n key=undefined;\n }\n }\n i++;\n expectingValueAfterEquals = false;\n });\n\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/html-parse-stringify2/lib/parse-tag.js\n// module id = 211\n// module chunks = 0","/*jshint -W030 */\nvar tagRE = /(?:<!--[\\S\\s]*?-->|<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>)/g;\nvar parseTag = require('./parse-tag');\n// re-used obj for quick lookups of components\nvar empty = Object.create ? Object.create(null) : {};\n// common logic for pushing a child node onto a list\nfunction pushTextNode(list, html, level, start, ignoreWhitespace) {\n // calculate correct end of the content slice in case there's\n // no tag after the text node.\n var end = html.indexOf('<', start);\n var content = html.slice(start, end === -1 ? undefined : end);\n // if a node is nothing but whitespace, collapse it as the spec states:\n // https://www.w3.org/TR/html4/struct/text.html#h-9.1\n if (/^\\s*$/.test(content)) {\n content = ' ';\n }\n // don't add whitespace-only text nodes if they would be trailing text nodes\n // or if they would be leading whitespace-only text nodes:\n // * end > -1 indicates this is not a trailing text node\n // * leading node is when level is -1 and list has length 0\n if ((!ignoreWhitespace && end > -1 && level + list.length >= 0) || content !== ' ') {\n list.push({\n type: 'text',\n content: content\n });\n }\n}\n\nmodule.exports = function parse(html, options) {\n options || (options = {});\n options.components || (options.components = empty);\n var result = [];\n var current;\n var level = -1;\n var arr = [];\n var byTag = {};\n var inComponent = false;\n\n html.replace(tagRE, function (tag, index) {\n if (inComponent) {\n if (tag !== ('</' + current.name + '>')) {\n return;\n } else {\n inComponent = false;\n }\n }\n\n var isOpen = tag.charAt(1) !== '/';\n var isComment = tag.indexOf('<!--') === 0;\n var start = index + tag.length;\n var nextChar = html.charAt(start);\n var parent;\n\n if (isOpen && !isComment) {\n level++;\n\n current = parseTag(tag);\n if (current.type === 'tag' && options.components[current.name]) {\n current.type = 'component';\n inComponent = true;\n }\n\n if (!current.voidElement && !inComponent && nextChar && nextChar !== '<') {\n pushTextNode(current.children, html, level, start, options.ignoreWhitespace);\n }\n\n byTag[current.tagName] = current;\n\n // if we're at root, push new base node\n if (level === 0) {\n result.push(current);\n }\n\n parent = arr[level - 1];\n\n if (parent) {\n parent.children.push(current);\n }\n\n arr[level] = current;\n }\n\n if (isComment || !isOpen || current.voidElement) {\n if (!isComment) {\n level--;\n }\n if (!inComponent && nextChar !== '<' && nextChar) {\n // trailing text node\n // if we're at the root, push a base text node. otherwise add as\n // a child to the current node.\n parent = level === -1 ? result : arr[level].children;\n pushTextNode(parent, html, level, start, options.ignoreWhitespace);\n }\n }\n });\n\n // If the \"html\" passed isn't actually html, add it as a text node.\n if (!result.length && html.length) {\n pushTextNode(result, html, 0, 0, options.ignoreWhitespace);\n }\n\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/html-parse-stringify2/lib/parse.js\n// module id = 212\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERRORS_MSGS = require(\"../constants/error_msgs\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nfunction injectable() {\n return function (target) {\n if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {\n throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);\n }\n var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];\n Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);\n return target;\n };\n}\nexports.injectable = injectable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/injectable.js\n// module id = 213\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction multiInject(serviceIdentifier) {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.MULTI_INJECT_TAG, serviceIdentifier);\n if (typeof index === \"number\") {\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n }\n else {\n decorator_utils_1.tagProperty(target, targetKey, metadata);\n }\n };\n}\nexports.multiInject = multiInject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/multi_inject.js\n// module id = 214\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction named(name) {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, name);\n if (typeof index === \"number\") {\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n }\n else {\n decorator_utils_1.tagProperty(target, targetKey, metadata);\n }\n };\n}\nexports.named = named;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/named.js\n// module id = 215\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction optional() {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.OPTIONAL_TAG, true);\n if (typeof index === \"number\") {\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n }\n else {\n decorator_utils_1.tagProperty(target, targetKey, metadata);\n }\n };\n}\nexports.optional = optional;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/optional.js\n// module id = 216\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERRORS_MSGS = require(\"../constants/error_msgs\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nfunction postConstruct() {\n return function (target, propertyKey, descriptor) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.POST_CONSTRUCT, propertyKey);\n if (Reflect.hasOwnMetadata(METADATA_KEY.POST_CONSTRUCT, target.constructor)) {\n throw new Error(ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS);\n }\n Reflect.defineMetadata(METADATA_KEY.POST_CONSTRUCT, metadata, target.constructor);\n };\n}\nexports.postConstruct = postConstruct;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/post_construct.js\n// module id = 217\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction tagged(metadataKey, metadataValue) {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(metadataKey, metadataValue);\n if (typeof index === \"number\") {\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n }\n else {\n decorator_utils_1.tagProperty(target, targetKey, metadata);\n }\n };\n}\nexports.tagged = tagged;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/tagged.js\n// module id = 218\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction targetName(name) {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.NAME_TAG, name);\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n };\n}\nexports.targetName = targetName;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/target_name.js\n// module id = 219\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_1 = require(\"../planning/metadata\");\nvar decorator_utils_1 = require(\"./decorator_utils\");\nfunction unmanaged() {\n return function (target, targetKey, index) {\n var metadata = new metadata_1.Metadata(METADATA_KEY.UNMANAGED_TAG, true);\n decorator_utils_1.tagParameter(target, targetKey, index, metadata);\n };\n}\nexports.unmanaged = unmanaged;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/annotation/unmanaged.js\n// module id = 220\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar guid_1 = require(\"../utils/guid\");\nvar Binding = (function () {\n function Binding(serviceIdentifier, scope) {\n this.guid = guid_1.guid();\n this.activated = false;\n this.serviceIdentifier = serviceIdentifier;\n this.scope = scope;\n this.type = literal_types_1.BindingTypeEnum.Invalid;\n this.constraint = function (request) { return true; };\n this.implementationType = null;\n this.cache = null;\n this.factory = null;\n this.provider = null;\n this.onActivation = null;\n this.dynamicValue = null;\n }\n Binding.prototype.clone = function () {\n var clone = new Binding(this.serviceIdentifier, this.scope);\n clone.activated = false;\n clone.implementationType = this.implementationType;\n clone.dynamicValue = this.dynamicValue;\n clone.scope = this.scope;\n clone.type = this.type;\n clone.factory = this.factory;\n clone.provider = this.provider;\n clone.constraint = this.constraint;\n clone.onActivation = this.onActivation;\n clone.cache = this.cache;\n return clone;\n };\n return Binding;\n}());\nexports.Binding = Binding;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/bindings/binding.js\n// module id = 221\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BindingCount = {\n MultipleBindingsAvailable: 2,\n NoBindingsAvailable: 0,\n OnlyOneBindingAvailable: 1\n};\nexports.BindingCount = BindingCount;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/bindings/binding_count.js\n// module id = 222\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_1 = require(\"../bindings/binding\");\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar metadata_reader_1 = require(\"../planning/metadata_reader\");\nvar planner_1 = require(\"../planning/planner\");\nvar resolver_1 = require(\"../resolution/resolver\");\nvar binding_to_syntax_1 = require(\"../syntax/binding_to_syntax\");\nvar guid_1 = require(\"../utils/guid\");\nvar serialization_1 = require(\"../utils/serialization\");\nvar container_snapshot_1 = require(\"./container_snapshot\");\nvar lookup_1 = require(\"./lookup\");\nvar Container = (function () {\n function Container(containerOptions) {\n if (containerOptions !== undefined) {\n if (typeof containerOptions !== \"object\") {\n throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);\n }\n else {\n if (containerOptions.defaultScope !== undefined &&\n containerOptions.defaultScope !== literal_types_1.BindingScopeEnum.Singleton &&\n containerOptions.defaultScope !== literal_types_1.BindingScopeEnum.Transient &&\n containerOptions.defaultScope !== literal_types_1.BindingScopeEnum.Request) {\n throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);\n }\n if (containerOptions.autoBindInjectable !== undefined &&\n typeof containerOptions.autoBindInjectable !== \"boolean\") {\n throw new Error(\"\" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);\n }\n }\n this.options = {\n autoBindInjectable: containerOptions.autoBindInjectable,\n defaultScope: containerOptions.defaultScope\n };\n }\n else {\n this.options = {\n autoBindInjectable: false,\n defaultScope: literal_types_1.BindingScopeEnum.Transient\n };\n }\n this.guid = guid_1.guid();\n this._bindingDictionary = new lookup_1.Lookup();\n this._snapshots = [];\n this._middleware = null;\n this.parent = null;\n this._metadataReader = new metadata_reader_1.MetadataReader();\n }\n Container.merge = function (container1, container2) {\n var container = new Container();\n var bindingDictionary = planner_1.getBindingDictionary(container);\n var bindingDictionary1 = planner_1.getBindingDictionary(container1);\n var bindingDictionary2 = planner_1.getBindingDictionary(container2);\n function copyDictionary(origin, destination) {\n origin.traverse(function (key, value) {\n value.forEach(function (binding) {\n destination.add(binding.serviceIdentifier, binding.clone());\n });\n });\n }\n copyDictionary(bindingDictionary1, bindingDictionary);\n copyDictionary(bindingDictionary2, bindingDictionary);\n return container;\n };\n Container.prototype.load = function () {\n var _this = this;\n var modules = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n modules[_i] = arguments[_i];\n }\n var setModuleId = function (bindingToSyntax, moduleId) {\n bindingToSyntax._binding.moduleId = moduleId;\n };\n var getBindFunction = function (moduleId) {\n return function (serviceIdentifier) {\n var bindingToSyntax = _this.bind.call(_this, serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n };\n var getUnbindFunction = function (moduleId) {\n return function (serviceIdentifier) {\n var _unbind = _this.unbind.bind(_this);\n _unbind(serviceIdentifier);\n };\n };\n var getIsboundFunction = function (moduleId) {\n return function (serviceIdentifier) {\n var _isBound = _this.isBound.bind(_this);\n return _isBound(serviceIdentifier);\n };\n };\n var getRebindFunction = function (moduleId) {\n return function (serviceIdentifier) {\n var bindingToSyntax = _this.rebind.call(_this, serviceIdentifier);\n setModuleId(bindingToSyntax, moduleId);\n return bindingToSyntax;\n };\n };\n modules.forEach(function (module) {\n var bindFunction = getBindFunction(module.guid);\n var unbindFunction = getUnbindFunction(module.guid);\n var isboundFunction = getIsboundFunction(module.guid);\n var rebindFunction = getRebindFunction(module.guid);\n module.registry(bindFunction, unbindFunction, isboundFunction, rebindFunction);\n });\n };\n Container.prototype.unload = function () {\n var _this = this;\n var modules = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n modules[_i] = arguments[_i];\n }\n var conditionFactory = function (expected) { return function (item) {\n return item.moduleId === expected;\n }; };\n modules.forEach(function (module) {\n var condition = conditionFactory(module.guid);\n _this._bindingDictionary.removeByCondition(condition);\n });\n };\n Container.prototype.bind = function (serviceIdentifier) {\n var scope = this.options.defaultScope || literal_types_1.BindingScopeEnum.Transient;\n var binding = new binding_1.Binding(serviceIdentifier, scope);\n this._bindingDictionary.add(serviceIdentifier, binding);\n return new binding_to_syntax_1.BindingToSyntax(binding);\n };\n Container.prototype.rebind = function (serviceIdentifier) {\n this.unbind(serviceIdentifier);\n return this.bind(serviceIdentifier);\n };\n Container.prototype.unbind = function (serviceIdentifier) {\n try {\n this._bindingDictionary.remove(serviceIdentifier);\n }\n catch (e) {\n throw new Error(ERROR_MSGS.CANNOT_UNBIND + \" \" + serialization_1.getServiceIdentifierAsString(serviceIdentifier));\n }\n };\n Container.prototype.unbindAll = function () {\n this._bindingDictionary = new lookup_1.Lookup();\n };\n Container.prototype.isBound = function (serviceIdentifier) {\n var bound = this._bindingDictionary.hasKey(serviceIdentifier);\n if (!bound && this.parent) {\n bound = this.parent.isBound(serviceIdentifier);\n }\n return bound;\n };\n Container.prototype.isBoundNamed = function (serviceIdentifier, named) {\n return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n };\n Container.prototype.isBoundTagged = function (serviceIdentifier, key, value) {\n var bound = false;\n if (this._bindingDictionary.hasKey(serviceIdentifier)) {\n var bindings = this._bindingDictionary.get(serviceIdentifier);\n var request_1 = planner_1.createMockRequest(this, serviceIdentifier, key, value);\n bound = bindings.some(function (b) { return b.constraint(request_1); });\n }\n if (!bound && this.parent) {\n bound = this.parent.isBoundTagged(serviceIdentifier, key, value);\n }\n return bound;\n };\n Container.prototype.snapshot = function () {\n this._snapshots.push(container_snapshot_1.ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware));\n };\n Container.prototype.restore = function () {\n var snapshot = this._snapshots.pop();\n if (snapshot === undefined) {\n throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);\n }\n this._bindingDictionary = snapshot.bindings;\n this._middleware = snapshot.middleware;\n };\n Container.prototype.createChild = function () {\n var child = new Container();\n child.parent = this;\n return child;\n };\n Container.prototype.applyMiddleware = function () {\n var middlewares = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n middlewares[_i] = arguments[_i];\n }\n var initial = (this._middleware) ? this._middleware : this._planAndResolve();\n this._middleware = middlewares.reduce(function (prev, curr) { return curr(prev); }, initial);\n };\n Container.prototype.applyCustomMetadataReader = function (metadataReader) {\n this._metadataReader = metadataReader;\n };\n Container.prototype.get = function (serviceIdentifier) {\n return this._get(false, false, literal_types_1.TargetTypeEnum.Variable, serviceIdentifier);\n };\n Container.prototype.getTagged = function (serviceIdentifier, key, value) {\n return this._get(false, false, literal_types_1.TargetTypeEnum.Variable, serviceIdentifier, key, value);\n };\n Container.prototype.getNamed = function (serviceIdentifier, named) {\n return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n };\n Container.prototype.getAll = function (serviceIdentifier) {\n return this._get(true, true, literal_types_1.TargetTypeEnum.Variable, serviceIdentifier);\n };\n Container.prototype.getAllTagged = function (serviceIdentifier, key, value) {\n return this._get(false, true, literal_types_1.TargetTypeEnum.Variable, serviceIdentifier, key, value);\n };\n Container.prototype.getAllNamed = function (serviceIdentifier, named) {\n return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);\n };\n Container.prototype.resolve = function (constructorFunction) {\n var tempContainer = new Container();\n tempContainer.bind(constructorFunction).toSelf();\n tempContainer.parent = this;\n return tempContainer.get(constructorFunction);\n };\n Container.prototype._get = function (avoidConstraints, isMultiInject, targetType, serviceIdentifier, key, value) {\n var result = null;\n var defaultArgs = {\n avoidConstraints: avoidConstraints,\n contextInterceptor: function (context) { return context; },\n isMultiInject: isMultiInject,\n key: key,\n serviceIdentifier: serviceIdentifier,\n targetType: targetType,\n value: value\n };\n if (this._middleware) {\n result = this._middleware(defaultArgs);\n if (result === undefined || result === null) {\n throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);\n }\n }\n else {\n result = this._planAndResolve()(defaultArgs);\n }\n return result;\n };\n Container.prototype._planAndResolve = function () {\n var _this = this;\n return function (args) {\n var context = planner_1.plan(_this._metadataReader, _this, args.isMultiInject, args.targetType, args.serviceIdentifier, args.key, args.value, args.avoidConstraints);\n context = args.contextInterceptor(context);\n var result = resolver_1.resolve(context);\n return result;\n };\n };\n return Container;\n}());\nexports.Container = Container;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/container/container.js\n// module id = 223\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar guid_1 = require(\"../utils/guid\");\nvar ContainerModule = (function () {\n function ContainerModule(registry) {\n this.guid = guid_1.guid();\n this.registry = registry;\n }\n return ContainerModule;\n}());\nexports.ContainerModule = ContainerModule;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/container/container_module.js\n// module id = 224\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ContainerSnapshot = (function () {\n function ContainerSnapshot() {\n }\n ContainerSnapshot.of = function (bindings, middleware) {\n var snapshot = new ContainerSnapshot();\n snapshot.bindings = bindings;\n snapshot.middleware = middleware;\n return snapshot;\n };\n return ContainerSnapshot;\n}());\nexports.ContainerSnapshot = ContainerSnapshot;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/container/container_snapshot.js\n// module id = 225\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar Lookup = (function () {\n function Lookup() {\n this._map = new Map();\n }\n Lookup.prototype.getMap = function () {\n return this._map;\n };\n Lookup.prototype.add = function (serviceIdentifier, value) {\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n if (value === null || value === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n var entry = this._map.get(serviceIdentifier);\n if (entry !== undefined) {\n entry.push(value);\n this._map.set(serviceIdentifier, entry);\n }\n else {\n this._map.set(serviceIdentifier, [value]);\n }\n };\n Lookup.prototype.get = function (serviceIdentifier) {\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n var entry = this._map.get(serviceIdentifier);\n if (entry !== undefined) {\n return entry;\n }\n else {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n };\n Lookup.prototype.remove = function (serviceIdentifier) {\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n if (!this._map.delete(serviceIdentifier)) {\n throw new Error(ERROR_MSGS.KEY_NOT_FOUND);\n }\n };\n Lookup.prototype.removeByCondition = function (condition) {\n var _this = this;\n this._map.forEach(function (entries, key) {\n var updatedEntries = entries.filter(function (entry) { return !condition(entry); });\n if (updatedEntries.length > 0) {\n _this._map.set(key, updatedEntries);\n }\n else {\n _this._map.delete(key);\n }\n });\n };\n Lookup.prototype.hasKey = function (serviceIdentifier) {\n if (serviceIdentifier === null || serviceIdentifier === undefined) {\n throw new Error(ERROR_MSGS.NULL_ARGUMENT);\n }\n return this._map.has(serviceIdentifier);\n };\n Lookup.prototype.clone = function () {\n var copy = new Lookup();\n this._map.forEach(function (value, key) {\n value.forEach(function (b) { return copy.add(key, b.clone()); });\n });\n return copy;\n };\n Lookup.prototype.traverse = function (func) {\n this._map.forEach(function (value, key) {\n func(key, value);\n });\n };\n return Lookup;\n}());\nexports.Lookup = Lookup;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/container/lookup.js\n// module id = 226\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar guid_1 = require(\"../utils/guid\");\nvar Context = (function () {\n function Context(container) {\n this.guid = guid_1.guid();\n this.container = container;\n }\n Context.prototype.addPlan = function (plan) {\n this.plan = plan;\n };\n Context.prototype.setCurrentRequest = function (currentRequest) {\n this.currentRequest = currentRequest;\n };\n return Context;\n}());\nexports.Context = Context;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/context.js\n// module id = 227\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Plan = (function () {\n function Plan(parentContext, rootRequest) {\n this.parentContext = parentContext;\n this.rootRequest = rootRequest;\n }\n return Plan;\n}());\nexports.Plan = Plan;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/plan.js\n// module id = 228\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_count_1 = require(\"../bindings/binding_count\");\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar exceptions_1 = require(\"../utils/exceptions\");\nvar serialization_1 = require(\"../utils/serialization\");\nvar context_1 = require(\"./context\");\nvar metadata_1 = require(\"./metadata\");\nvar plan_1 = require(\"./plan\");\nvar reflection_utils_1 = require(\"./reflection_utils\");\nvar request_1 = require(\"./request\");\nvar target_1 = require(\"./target\");\nfunction getBindingDictionary(cntnr) {\n return cntnr._bindingDictionary;\n}\nexports.getBindingDictionary = getBindingDictionary;\nfunction _createTarget(isMultiInject, targetType, serviceIdentifier, name, key, value) {\n var metadataKey = isMultiInject ? METADATA_KEY.MULTI_INJECT_TAG : METADATA_KEY.INJECT_TAG;\n var injectMetadata = new metadata_1.Metadata(metadataKey, serviceIdentifier);\n var target = new target_1.Target(targetType, name, serviceIdentifier, injectMetadata);\n if (key !== undefined) {\n var tagMetadata = new metadata_1.Metadata(key, value);\n target.metadata.push(tagMetadata);\n }\n return target;\n}\nfunction _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target) {\n var bindings = getBindings(context.container, target.serviceIdentifier);\n var activeBindings = [];\n if (bindings.length === binding_count_1.BindingCount.NoBindingsAvailable &&\n context.container.options.autoBindInjectable &&\n typeof target.serviceIdentifier === \"function\" &&\n metadataReader.getConstructorMetadata(target.serviceIdentifier).compilerGeneratedMetadata) {\n context.container.bind(target.serviceIdentifier).toSelf();\n bindings = getBindings(context.container, target.serviceIdentifier);\n }\n if (!avoidConstraints) {\n activeBindings = bindings.filter(function (binding) {\n var request = new request_1.Request(binding.serviceIdentifier, context, parentRequest, binding, target);\n return binding.constraint(request);\n });\n }\n else {\n activeBindings = bindings;\n }\n _validateActiveBindingCount(target.serviceIdentifier, activeBindings, target, context.container);\n return activeBindings;\n}\nfunction _validateActiveBindingCount(serviceIdentifier, bindings, target, container) {\n switch (bindings.length) {\n case binding_count_1.BindingCount.NoBindingsAvailable:\n if (target.isOptional()) {\n return bindings;\n }\n else {\n var serviceIdentifierString = serialization_1.getServiceIdentifierAsString(serviceIdentifier);\n var msg = ERROR_MSGS.NOT_REGISTERED;\n msg += serialization_1.listMetadataForTarget(serviceIdentifierString, target);\n msg += serialization_1.listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n }\n case binding_count_1.BindingCount.OnlyOneBindingAvailable:\n if (!target.isArray()) {\n return bindings;\n }\n case binding_count_1.BindingCount.MultipleBindingsAvailable:\n default:\n if (!target.isArray()) {\n var serviceIdentifierString = serialization_1.getServiceIdentifierAsString(serviceIdentifier);\n var msg = ERROR_MSGS.AMBIGUOUS_MATCH + \" \" + serviceIdentifierString;\n msg += serialization_1.listRegisteredBindingsForServiceIdentifier(container, serviceIdentifierString, getBindings);\n throw new Error(msg);\n }\n else {\n return bindings;\n }\n }\n}\nfunction _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, parentRequest, target) {\n var activeBindings;\n var childRequest;\n if (parentRequest === null) {\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, null, target);\n childRequest = new request_1.Request(serviceIdentifier, context, null, activeBindings, target);\n var thePlan = new plan_1.Plan(context, childRequest);\n context.addPlan(thePlan);\n }\n else {\n activeBindings = _getActiveBindings(metadataReader, avoidConstraints, context, parentRequest, target);\n childRequest = parentRequest.addChildRequest(target.serviceIdentifier, activeBindings, target);\n }\n activeBindings.forEach(function (binding) {\n var subChildRequest = null;\n if (target.isArray()) {\n subChildRequest = childRequest.addChildRequest(binding.serviceIdentifier, binding, target);\n }\n else {\n if (binding.cache) {\n return;\n }\n subChildRequest = childRequest;\n }\n if (binding.type === literal_types_1.BindingTypeEnum.Instance && binding.implementationType !== null) {\n var dependencies = reflection_utils_1.getDependencies(metadataReader, binding.implementationType);\n dependencies.forEach(function (dependency) {\n _createSubRequests(metadataReader, false, dependency.serviceIdentifier, context, subChildRequest, dependency);\n });\n }\n });\n}\nfunction getBindings(container, serviceIdentifier) {\n var bindings = [];\n var bindingDictionary = getBindingDictionary(container);\n if (bindingDictionary.hasKey(serviceIdentifier)) {\n bindings = bindingDictionary.get(serviceIdentifier);\n }\n else if (container.parent !== null) {\n bindings = getBindings(container.parent, serviceIdentifier);\n }\n return bindings;\n}\nfunction plan(metadataReader, container, isMultiInject, targetType, serviceIdentifier, key, value, avoidConstraints) {\n if (avoidConstraints === void 0) { avoidConstraints = false; }\n var context = new context_1.Context(container);\n var target = _createTarget(isMultiInject, targetType, serviceIdentifier, \"\", key, value);\n try {\n _createSubRequests(metadataReader, avoidConstraints, serviceIdentifier, context, null, target);\n return context;\n }\n catch (error) {\n if (exceptions_1.isStackOverflowExeption(error)) {\n if (context.plan) {\n serialization_1.circularDependencyToException(context.plan.rootRequest);\n }\n }\n throw error;\n }\n}\nexports.plan = plan;\nfunction createMockRequest(container, serviceIdentifier, key, value) {\n var target = new target_1.Target(literal_types_1.TargetTypeEnum.Variable, \"\", serviceIdentifier, new metadata_1.Metadata(key, value));\n var context = new context_1.Context(container);\n var request = new request_1.Request(serviceIdentifier, context, null, [], target);\n return request;\n}\nexports.createMockRequest = createMockRequest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/planner.js\n// module id = 229\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar QueryableString = (function () {\n function QueryableString(str) {\n this.str = str;\n }\n QueryableString.prototype.startsWith = function (searchString) {\n return this.str.indexOf(searchString) === 0;\n };\n QueryableString.prototype.endsWith = function (searchString) {\n var reverseString = \"\";\n var reverseSearchString = searchString.split(\"\").reverse().join(\"\");\n reverseString = this.str.split(\"\").reverse().join(\"\");\n return this.startsWith.call({ str: reverseString }, reverseSearchString);\n };\n QueryableString.prototype.contains = function (searchString) {\n return (this.str.indexOf(searchString) !== -1);\n };\n QueryableString.prototype.equals = function (compareString) {\n return this.str === compareString;\n };\n QueryableString.prototype.value = function () {\n return this.str;\n };\n return QueryableString;\n}());\nexports.QueryableString = QueryableString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/queryable_string.js\n// module id = 230\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inject_1 = require(\"../annotation/inject\");\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nvar serialization_1 = require(\"../utils/serialization\");\nvar target_1 = require(\"./target\");\nfunction getDependencies(metadataReader, func) {\n var constructorName = serialization_1.getFunctionName(func);\n var targets = getTargets(metadataReader, constructorName, func, false);\n return targets;\n}\nexports.getDependencies = getDependencies;\nfunction getTargets(metadataReader, constructorName, func, isBaseClass) {\n var metadata = metadataReader.getConstructorMetadata(func);\n var serviceIdentifiers = metadata.compilerGeneratedMetadata;\n if (serviceIdentifiers === undefined) {\n var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + \" \" + constructorName + \".\";\n throw new Error(msg);\n }\n var constructorArgsMetadata = metadata.userGeneratedMetadata;\n var keys = Object.keys(constructorArgsMetadata);\n var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);\n var iterations = (hasUserDeclaredUnknownInjections) ? keys.length : func.length;\n var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);\n var propertyTargets = getClassPropsAsTargets(metadataReader, func);\n var targets = constructorTargets.concat(propertyTargets);\n var baseClassDependencyCount = getBaseClassDependencyCount(metadataReader, func);\n if (targets.length < baseClassDependencyCount) {\n var error = ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH_1 +\n constructorName + ERROR_MSGS.ARGUMENTS_LENGTH_MISMATCH_2;\n throw new Error(error);\n }\n return targets;\n}\nfunction getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {\n var targetMetadata = constructorArgsMetadata[index.toString()] || [];\n var metadata = formatTargetMetadata(targetMetadata);\n var isManaged = metadata.unmanaged !== true;\n var serviceIdentifier = serviceIdentifiers[index];\n var injectIdentifier = (metadata.inject || metadata.multiInject);\n serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier;\n if (serviceIdentifier instanceof inject_1.LazyServiceIdentifer) {\n serviceIdentifier = serviceIdentifier.unwrap();\n }\n if (isManaged) {\n var isObject = serviceIdentifier === Object;\n var isFunction = serviceIdentifier === Function;\n var isUndefined = serviceIdentifier === undefined;\n var isUnknownType = (isObject || isFunction || isUndefined);\n if (!isBaseClass && isUnknownType) {\n var msg = ERROR_MSGS.MISSING_INJECT_ANNOTATION + \" argument \" + index + \" in class \" + constructorName + \".\";\n throw new Error(msg);\n }\n var target = new target_1.Target(literal_types_1.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);\n target.metadata = targetMetadata;\n return target;\n }\n return null;\n}\nfunction getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {\n var targets = [];\n for (var i = 0; i < iterations; i++) {\n var index = i;\n var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);\n if (target !== null) {\n targets.push(target);\n }\n }\n return targets;\n}\nfunction getClassPropsAsTargets(metadataReader, constructorFunc) {\n var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);\n var targets = [];\n var keys = Object.keys(classPropsMetadata);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var targetMetadata = classPropsMetadata[key];\n var metadata = formatTargetMetadata(classPropsMetadata[key]);\n var targetName = metadata.targetName || key;\n var serviceIdentifier = (metadata.inject || metadata.multiInject);\n var target = new target_1.Target(literal_types_1.TargetTypeEnum.ClassProperty, targetName, serviceIdentifier);\n target.metadata = targetMetadata;\n targets.push(target);\n }\n var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;\n if (baseConstructor !== Object) {\n var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);\n targets = targets.concat(baseTargets);\n }\n return targets;\n}\nfunction getBaseClassDependencyCount(metadataReader, func) {\n var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;\n if (baseConstructor !== Object) {\n var baseConstructorName = serialization_1.getFunctionName(baseConstructor);\n var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);\n var metadata = targets.map(function (t) {\n return t.metadata.filter(function (m) {\n return m.key === METADATA_KEY.UNMANAGED_TAG;\n });\n });\n var unmanagedCount = [].concat.apply([], metadata).length;\n var dependencyCount = targets.length - unmanagedCount;\n if (dependencyCount > 0) {\n return dependencyCount;\n }\n else {\n return getBaseClassDependencyCount(metadataReader, baseConstructor);\n }\n }\n else {\n return 0;\n }\n}\nfunction formatTargetMetadata(targetMetadata) {\n var targetMetadataMap = {};\n targetMetadata.forEach(function (m) {\n targetMetadataMap[m.key.toString()] = m.value;\n });\n return {\n inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],\n multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],\n targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],\n unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]\n };\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/reflection_utils.js\n// module id = 231\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar guid_1 = require(\"../utils/guid\");\nvar Request = (function () {\n function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {\n this.guid = guid_1.guid();\n this.serviceIdentifier = serviceIdentifier;\n this.parentContext = parentContext;\n this.parentRequest = parentRequest;\n this.target = target;\n this.childRequests = [];\n this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);\n this.requestScope = parentRequest === null\n ? new Map()\n : null;\n }\n Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {\n var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);\n this.childRequests.push(child);\n return child;\n };\n return Request;\n}());\nexports.Request = Request;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/planning/request.js\n// module id = 232\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar error_msgs_1 = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar METADATA_KEY = require(\"../constants/metadata_keys\");\nfunction _injectProperties(instance, childRequests, resolveRequest) {\n var propertyInjectionsRequests = childRequests.filter(function (childRequest) {\n return (childRequest.target !== null &&\n childRequest.target.type === literal_types_1.TargetTypeEnum.ClassProperty);\n });\n var propertyInjections = propertyInjectionsRequests.map(resolveRequest);\n propertyInjectionsRequests.forEach(function (r, index) {\n var propertyName = \"\";\n propertyName = r.target.name.value();\n var injection = propertyInjections[index];\n instance[propertyName] = injection;\n });\n return instance;\n}\nfunction _createInstance(Func, injections) {\n return new (Func.bind.apply(Func, [void 0].concat(injections)))();\n}\nfunction _postConstruct(constr, result) {\n if (Reflect.hasMetadata(METADATA_KEY.POST_CONSTRUCT, constr)) {\n var data = Reflect.getMetadata(METADATA_KEY.POST_CONSTRUCT, constr);\n try {\n result[data.value]();\n }\n catch (e) {\n throw new Error(error_msgs_1.POST_CONSTRUCT_ERROR(constr.name, e.message));\n }\n }\n}\nfunction resolveInstance(constr, childRequests, resolveRequest) {\n var result = null;\n if (childRequests.length > 0) {\n var constructorInjectionsRequests = childRequests.filter(function (childRequest) {\n return (childRequest.target !== null && childRequest.target.type === literal_types_1.TargetTypeEnum.ConstructorArgument);\n });\n var constructorInjections = constructorInjectionsRequests.map(resolveRequest);\n result = _createInstance(constr, constructorInjections);\n result = _injectProperties(result, childRequests, resolveRequest);\n }\n else {\n result = new constr();\n }\n _postConstruct(constr, result);\n return result;\n}\nexports.resolveInstance = resolveInstance;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/resolution/instantiation.js\n// module id = 233\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar exceptions_1 = require(\"../utils/exceptions\");\nvar serialization_1 = require(\"../utils/serialization\");\nvar instantiation_1 = require(\"./instantiation\");\nvar invokeFactory = function (factoryType, serviceIdentifier, fn) {\n try {\n return fn();\n }\n catch (error) {\n if (exceptions_1.isStackOverflowExeption(error)) {\n throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY_IN_FACTORY(factoryType, serviceIdentifier.toString()));\n }\n else {\n throw error;\n }\n }\n};\nvar _resolveRequest = function (requestScope) {\n return function (request) {\n request.parentContext.setCurrentRequest(request);\n var bindings = request.bindings;\n var childRequests = request.childRequests;\n var targetIsAnArray = request.target && request.target.isArray();\n var targetParentIsNotAnArray = !request.parentRequest ||\n !request.parentRequest.target ||\n !request.target ||\n !request.parentRequest.target.matchesArray(request.target.serviceIdentifier);\n if (targetIsAnArray && targetParentIsNotAnArray) {\n return childRequests.map(function (childRequest) {\n var _f = _resolveRequest(requestScope);\n return _f(childRequest);\n });\n }\n else {\n var result = null;\n if (request.target.isOptional() && bindings.length === 0) {\n return undefined;\n }\n var binding_1 = bindings[0];\n var isSingleton = binding_1.scope === literal_types_1.BindingScopeEnum.Singleton;\n var isRequestSingleton = binding_1.scope === literal_types_1.BindingScopeEnum.Request;\n if (isSingleton && binding_1.activated) {\n return binding_1.cache;\n }\n if (isRequestSingleton &&\n requestScope !== null &&\n requestScope.has(binding_1.guid)) {\n return requestScope.get(binding_1.guid);\n }\n if (binding_1.type === literal_types_1.BindingTypeEnum.ConstantValue) {\n result = binding_1.cache;\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.Function) {\n result = binding_1.cache;\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.Constructor) {\n result = binding_1.implementationType;\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.DynamicValue && binding_1.dynamicValue !== null) {\n result = invokeFactory(\"toDynamicValue\", binding_1.serviceIdentifier, function () { return binding_1.dynamicValue(request.parentContext); });\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.Factory && binding_1.factory !== null) {\n result = invokeFactory(\"toFactory\", binding_1.serviceIdentifier, function () { return binding_1.factory(request.parentContext); });\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.Provider && binding_1.provider !== null) {\n result = invokeFactory(\"toProvider\", binding_1.serviceIdentifier, function () { return binding_1.provider(request.parentContext); });\n }\n else if (binding_1.type === literal_types_1.BindingTypeEnum.Instance && binding_1.implementationType !== null) {\n result = instantiation_1.resolveInstance(binding_1.implementationType, childRequests, _resolveRequest(requestScope));\n }\n else {\n var serviceIdentifier = serialization_1.getServiceIdentifierAsString(request.serviceIdentifier);\n throw new Error(ERROR_MSGS.INVALID_BINDING_TYPE + \" \" + serviceIdentifier);\n }\n if (typeof binding_1.onActivation === \"function\") {\n result = binding_1.onActivation(request.parentContext, result);\n }\n if (isSingleton) {\n binding_1.cache = result;\n binding_1.activated = true;\n }\n if (isRequestSingleton &&\n requestScope !== null &&\n !requestScope.has(binding_1.guid)) {\n requestScope.set(binding_1.guid, result);\n }\n return result;\n }\n };\n};\nfunction resolve(context) {\n var _f = _resolveRequest(context.plan.rootRequest.requestScope);\n return _f(context.plan.rootRequest);\n}\nexports.resolve = resolve;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/resolution/resolver.js\n// module id = 234\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar binding_when_on_syntax_1 = require(\"./binding_when_on_syntax\");\nvar BindingInSyntax = (function () {\n function BindingInSyntax(binding) {\n this._binding = binding;\n }\n BindingInSyntax.prototype.inRequestScope = function () {\n this._binding.scope = literal_types_1.BindingScopeEnum.Request;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingInSyntax.prototype.inSingletonScope = function () {\n this._binding.scope = literal_types_1.BindingScopeEnum.Singleton;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingInSyntax.prototype.inTransientScope = function () {\n this._binding.scope = literal_types_1.BindingScopeEnum.Transient;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n return BindingInSyntax;\n}());\nexports.BindingInSyntax = BindingInSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_in_syntax.js\n// module id = 235\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar binding_in_syntax_1 = require(\"./binding_in_syntax\");\nvar binding_on_syntax_1 = require(\"./binding_on_syntax\");\nvar binding_when_syntax_1 = require(\"./binding_when_syntax\");\nvar BindingInWhenOnSyntax = (function () {\n function BindingInWhenOnSyntax(binding) {\n this._binding = binding;\n this._bindingWhenSyntax = new binding_when_syntax_1.BindingWhenSyntax(this._binding);\n this._bindingOnSyntax = new binding_on_syntax_1.BindingOnSyntax(this._binding);\n this._bindingInSyntax = new binding_in_syntax_1.BindingInSyntax(binding);\n }\n BindingInWhenOnSyntax.prototype.inRequestScope = function () {\n return this._bindingInSyntax.inRequestScope();\n };\n BindingInWhenOnSyntax.prototype.inSingletonScope = function () {\n return this._bindingInSyntax.inSingletonScope();\n };\n BindingInWhenOnSyntax.prototype.inTransientScope = function () {\n return this._bindingInSyntax.inTransientScope();\n };\n BindingInWhenOnSyntax.prototype.when = function (constraint) {\n return this._bindingWhenSyntax.when(constraint);\n };\n BindingInWhenOnSyntax.prototype.whenTargetNamed = function (name) {\n return this._bindingWhenSyntax.whenTargetNamed(name);\n };\n BindingInWhenOnSyntax.prototype.whenTargetIsDefault = function () {\n return this._bindingWhenSyntax.whenTargetIsDefault();\n };\n BindingInWhenOnSyntax.prototype.whenTargetTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenTargetTagged(tag, value);\n };\n BindingInWhenOnSyntax.prototype.whenInjectedInto = function (parent) {\n return this._bindingWhenSyntax.whenInjectedInto(parent);\n };\n BindingInWhenOnSyntax.prototype.whenParentNamed = function (name) {\n return this._bindingWhenSyntax.whenParentNamed(name);\n };\n BindingInWhenOnSyntax.prototype.whenParentTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenParentTagged(tag, value);\n };\n BindingInWhenOnSyntax.prototype.whenAnyAncestorIs = function (ancestor) {\n return this._bindingWhenSyntax.whenAnyAncestorIs(ancestor);\n };\n BindingInWhenOnSyntax.prototype.whenNoAncestorIs = function (ancestor) {\n return this._bindingWhenSyntax.whenNoAncestorIs(ancestor);\n };\n BindingInWhenOnSyntax.prototype.whenAnyAncestorNamed = function (name) {\n return this._bindingWhenSyntax.whenAnyAncestorNamed(name);\n };\n BindingInWhenOnSyntax.prototype.whenAnyAncestorTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenAnyAncestorTagged(tag, value);\n };\n BindingInWhenOnSyntax.prototype.whenNoAncestorNamed = function (name) {\n return this._bindingWhenSyntax.whenNoAncestorNamed(name);\n };\n BindingInWhenOnSyntax.prototype.whenNoAncestorTagged = function (tag, value) {\n return this._bindingWhenSyntax.whenNoAncestorTagged(tag, value);\n };\n BindingInWhenOnSyntax.prototype.whenAnyAncestorMatches = function (constraint) {\n return this._bindingWhenSyntax.whenAnyAncestorMatches(constraint);\n };\n BindingInWhenOnSyntax.prototype.whenNoAncestorMatches = function (constraint) {\n return this._bindingWhenSyntax.whenNoAncestorMatches(constraint);\n };\n BindingInWhenOnSyntax.prototype.onActivation = function (handler) {\n return this._bindingOnSyntax.onActivation(handler);\n };\n return BindingInWhenOnSyntax;\n}());\nexports.BindingInWhenOnSyntax = BindingInWhenOnSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_in_when_on_syntax.js\n// module id = 236\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ERROR_MSGS = require(\"../constants/error_msgs\");\nvar literal_types_1 = require(\"../constants/literal_types\");\nvar binding_in_when_on_syntax_1 = require(\"./binding_in_when_on_syntax\");\nvar binding_when_on_syntax_1 = require(\"./binding_when_on_syntax\");\nvar BindingToSyntax = (function () {\n function BindingToSyntax(binding) {\n this._binding = binding;\n }\n BindingToSyntax.prototype.to = function (constructor) {\n this._binding.type = literal_types_1.BindingTypeEnum.Instance;\n this._binding.implementationType = constructor;\n return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toSelf = function () {\n if (typeof this._binding.serviceIdentifier !== \"function\") {\n throw new Error(\"\" + ERROR_MSGS.INVALID_TO_SELF_VALUE);\n }\n var self = this._binding.serviceIdentifier;\n return this.to(self);\n };\n BindingToSyntax.prototype.toConstantValue = function (value) {\n this._binding.type = literal_types_1.BindingTypeEnum.ConstantValue;\n this._binding.cache = value;\n this._binding.dynamicValue = null;\n this._binding.implementationType = null;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toDynamicValue = function (func) {\n this._binding.type = literal_types_1.BindingTypeEnum.DynamicValue;\n this._binding.cache = null;\n this._binding.dynamicValue = func;\n this._binding.implementationType = null;\n return new binding_in_when_on_syntax_1.BindingInWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toConstructor = function (constructor) {\n this._binding.type = literal_types_1.BindingTypeEnum.Constructor;\n this._binding.implementationType = constructor;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toFactory = function (factory) {\n this._binding.type = literal_types_1.BindingTypeEnum.Factory;\n this._binding.factory = factory;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toFunction = function (func) {\n if (typeof func !== \"function\") {\n throw new Error(ERROR_MSGS.INVALID_FUNCTION_BINDING);\n }\n var bindingWhenOnSyntax = this.toConstantValue(func);\n this._binding.type = literal_types_1.BindingTypeEnum.Function;\n return bindingWhenOnSyntax;\n };\n BindingToSyntax.prototype.toAutoFactory = function (serviceIdentifier) {\n this._binding.type = literal_types_1.BindingTypeEnum.Factory;\n this._binding.factory = function (context) {\n var autofactory = function () { return context.container.get(serviceIdentifier); };\n return autofactory;\n };\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toProvider = function (provider) {\n this._binding.type = literal_types_1.BindingTypeEnum.Provider;\n this._binding.provider = provider;\n return new binding_when_on_syntax_1.BindingWhenOnSyntax(this._binding);\n };\n BindingToSyntax.prototype.toService = function (service) {\n this.toDynamicValue(function (context) { return context.container.get(service); });\n };\n return BindingToSyntax;\n}());\nexports.BindingToSyntax = BindingToSyntax;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/syntax/binding_to_syntax.js\n// module id = 237\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.multiBindToService = function (container) {\n return function (service) {\n return function () {\n var types = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n types[_i] = arguments[_i];\n }\n return types.forEach(function (t) { return container.bind(t).toService(service); });\n };\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/inversify/lib/utils/binding_utils.js\n// module id = 238\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 239\n// module chunks = 0","\"use strict\";\n;\n;\n;\nvar isWebSocket = function (constructor) {\n return constructor && constructor.CLOSING === 2;\n};\nvar isGlobalWebSocket = function () {\n return typeof WebSocket !== 'undefined' && isWebSocket(WebSocket);\n};\nvar getDefaultOptions = function () { return ({\n constructor: isGlobalWebSocket() ? WebSocket : null,\n maxReconnectionDelay: 10000,\n minReconnectionDelay: 1500,\n reconnectionDelayGrowFactor: 1.3,\n connectionTimeout: 4000,\n maxRetries: Infinity,\n debug: false,\n}); };\nvar bypassProperty = function (src, dst, name) {\n Object.defineProperty(dst, name, {\n get: function () { return src[name]; },\n set: function (value) { src[name] = value; },\n enumerable: true,\n configurable: true,\n });\n};\nvar initReconnectionDelay = function (config) {\n return (config.minReconnectionDelay + Math.random() * config.minReconnectionDelay);\n};\nvar updateReconnectionDelay = function (config, previousDelay) {\n var newDelay = previousDelay * config.reconnectionDelayGrowFactor;\n return (newDelay > config.maxReconnectionDelay)\n ? config.maxReconnectionDelay\n : newDelay;\n};\nvar LEVEL_0_EVENTS = ['onopen', 'onclose', 'onmessage', 'onerror'];\nvar reassignEventListeners = function (ws, oldWs, listeners) {\n Object.keys(listeners).forEach(function (type) {\n listeners[type].forEach(function (_a) {\n var listener = _a[0], options = _a[1];\n ws.addEventListener(type, listener, options);\n });\n });\n if (oldWs) {\n LEVEL_0_EVENTS.forEach(function (name) {\n ws[name] = oldWs[name];\n });\n }\n};\nvar ReconnectingWebsocket = function (url, protocols, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var ws;\n var connectingTimeout;\n var reconnectDelay = 0;\n var retriesCount = 0;\n var shouldRetry = true;\n var savedOnClose = null;\n var listeners = {};\n // require new to construct\n if (!(this instanceof ReconnectingWebsocket)) {\n throw new TypeError(\"Failed to construct 'ReconnectingWebSocket': Please use the 'new' operator\");\n }\n // Set config. Not using `Object.assign` because of IE11\n var config = getDefaultOptions();\n Object.keys(config)\n .filter(function (key) { return options.hasOwnProperty(key); })\n .forEach(function (key) { return config[key] = options[key]; });\n if (!isWebSocket(config.constructor)) {\n throw new TypeError('Invalid WebSocket constructor. Set `options.constructor`');\n }\n var log = config.debug ? function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return console.log.apply(console, ['RWS:'].concat(params));\n } : function () { };\n /**\n * Not using dispatchEvent, otherwise we must use a DOM Event object\n * Deferred because we want to handle the close event before this\n */\n var emitError = function (code, msg) { return setTimeout(function () {\n var err = new Error(msg);\n err.code = code;\n if (Array.isArray(listeners.error)) {\n listeners.error.forEach(function (_a) {\n var fn = _a[0];\n return fn(err);\n });\n }\n if (ws.onerror) {\n ws.onerror(err);\n }\n }, 0); };\n var handleClose = function () {\n log('handleClose', { shouldRetry: shouldRetry });\n retriesCount++;\n log('retries count:', retriesCount);\n if (retriesCount > config.maxRetries) {\n emitError('EHOSTDOWN', 'Too many failed connection attempts');\n return;\n }\n if (!reconnectDelay) {\n reconnectDelay = initReconnectionDelay(config);\n }\n else {\n reconnectDelay = updateReconnectionDelay(config, reconnectDelay);\n }\n log('handleClose - reconnectDelay:', reconnectDelay);\n if (shouldRetry) {\n setTimeout(connect, reconnectDelay);\n }\n };\n var connect = function () {\n if (!shouldRetry) {\n return;\n }\n log('connect');\n var oldWs = ws;\n var wsUrl = (typeof url === 'function') ? url() : url;\n ws = new config.constructor(wsUrl, protocols);\n connectingTimeout = setTimeout(function () {\n log('timeout');\n ws.close();\n emitError('ETIMEDOUT', 'Connection timeout');\n }, config.connectionTimeout);\n log('bypass properties');\n for (var key in ws) {\n // @todo move to constant\n if (['addEventListener', 'removeEventListener', 'close', 'send'].indexOf(key) < 0) {\n bypassProperty(ws, _this, key);\n }\n }\n ws.addEventListener('open', function () {\n clearTimeout(connectingTimeout);\n log('open');\n reconnectDelay = initReconnectionDelay(config);\n log('reconnectDelay:', reconnectDelay);\n retriesCount = 0;\n });\n ws.addEventListener('close', handleClose);\n reassignEventListeners(ws, oldWs, listeners);\n // because when closing with fastClose=true, it is saved and set to null to avoid double calls\n ws.onclose = ws.onclose || savedOnClose;\n savedOnClose = null;\n };\n log('init');\n connect();\n this.close = function (code, reason, _a) {\n if (code === void 0) { code = 1000; }\n if (reason === void 0) { reason = ''; }\n var _b = _a === void 0 ? {} : _a, _c = _b.keepClosed, keepClosed = _c === void 0 ? false : _c, _d = _b.fastClose, fastClose = _d === void 0 ? true : _d, _e = _b.delay, delay = _e === void 0 ? 0 : _e;\n log('close - params:', { reason: reason, keepClosed: keepClosed, fastClose: fastClose, delay: delay, retriesCount: retriesCount, maxRetries: config.maxRetries });\n shouldRetry = !keepClosed && retriesCount <= config.maxRetries;\n if (delay) {\n reconnectDelay = delay;\n }\n ws.close(code, reason);\n if (fastClose) {\n var fakeCloseEvent_1 = {\n code: code,\n reason: reason,\n wasClean: true,\n };\n // execute close listeners soon with a fake closeEvent\n // and remove them from the WS instance so they\n // don't get fired on the real close.\n handleClose();\n ws.removeEventListener('close', handleClose);\n // run and remove level2\n if (Array.isArray(listeners.close)) {\n listeners.close.forEach(function (_a) {\n var listener = _a[0], options = _a[1];\n listener(fakeCloseEvent_1);\n ws.removeEventListener('close', listener, options);\n });\n }\n // run and remove level0\n if (ws.onclose) {\n savedOnClose = ws.onclose;\n ws.onclose(fakeCloseEvent_1);\n ws.onclose = null;\n }\n }\n };\n this.send = function (data) {\n ws.send(data);\n };\n this.addEventListener = function (type, listener, options) {\n if (Array.isArray(listeners[type])) {\n if (!listeners[type].some(function (_a) {\n var l = _a[0];\n return l === listener;\n })) {\n listeners[type].push([listener, options]);\n }\n }\n else {\n listeners[type] = [[listener, options]];\n }\n ws.addEventListener(type, listener, options);\n };\n this.removeEventListener = function (type, listener, options) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(function (_a) {\n var l = _a[0];\n return l !== listener;\n });\n }\n ws.removeEventListener(type, listener, options);\n };\n};\nmodule.exports = ReconnectingWebsocket;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/reconnecting-websocket/dist/index.js\n// module id = 240\n// module chunks = 0","/*! *****************************************************************************\r\nCopyright (C) Microsoft. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\nvar Reflect;\r\n(function (Reflect) {\r\n // Metadata Proposal\r\n // https://rbuckton.github.io/reflect-metadata/\r\n (function (factory) {\r\n var root = typeof global === \"object\" ? global :\r\n typeof self === \"object\" ? self :\r\n typeof this === \"object\" ? this :\r\n Function(\"return this;\")();\r\n var exporter = makeExporter(Reflect);\r\n if (typeof root.Reflect === \"undefined\") {\r\n root.Reflect = Reflect;\r\n }\r\n else {\r\n exporter = makeExporter(root.Reflect, exporter);\r\n }\r\n factory(exporter);\r\n function makeExporter(target, previous) {\r\n return function (key, value) {\r\n if (typeof target[key] !== \"function\") {\r\n Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\r\n }\r\n if (previous)\r\n previous(key, value);\r\n };\r\n }\r\n })(function (exporter) {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n var HashMap = {\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n create: supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); },\r\n has: downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; },\r\n get: downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; },\r\n };\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n exporter(\"decorate\", decorate);\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n exporter(\"metadata\", metadata);\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n exporter(\"defineMetadata\", defineMetadata);\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"hasMetadata\", hasMetadata);\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"hasOwnMetadata\", hasOwnMetadata);\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"getMetadata\", getMetadata);\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"getOwnMetadata\", getOwnMetadata);\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n exporter(\"getMetadataKeys\", getMetadataKeys);\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n exporter(\"deleteMetadata\", deleteMetadata);\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 § 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n });\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/reflect-metadata/Reflect.js\n// module id = 241\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function (html) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\n var context = options.context || document;\n\n // If there's nothing here, return null;\n if (!html) {\n return null;\n }\n\n // Maintain a list of created vnodes so we can call the create hook.\n var createdVNodes = [];\n\n // Parse the string into the AST and convert to VNodes.\n var vnodes = convertNodes((0, _parse2.default)(html), createdVNodes, context);\n\n var res = void 0;\n if (!vnodes) {\n // If there are no vnodes but there is string content, then the string\n // must be just text or at least invalid HTML that we should treat as\n // text (since the AST parser didn't find any well-formed HTML).\n res = toVNode({ type: 'text', content: html }, createdVNodes, context);\n } else if (vnodes.length === 1) {\n // If there's only one root node, just return it as opposed to an array.\n res = vnodes[0];\n } else {\n // Otherwise we have an array of VNodes, which we should return.\n res = vnodes;\n }\n\n // Call the 'create' hook for each created node.\n options.hooks && options.hooks.create && createdVNodes.forEach(function (node) {\n options.hooks.create(node);\n });\n return res;\n};\n\nvar _parse = require('html-parse-stringify2/lib/parse');\n\nvar _parse2 = _interopRequireDefault(_parse);\n\nvar _h = require('snabbdom/h');\n\nvar _h2 = _interopRequireDefault(_h);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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 convertNodes(nodes, createdVNodes, context) {\n if (nodes instanceof Array && nodes.length > 0) {\n return nodes.map(function (node) {\n return toVNode(node, createdVNodes, context);\n });\n } else {\n return undefined;\n }\n}\n\nfunction toVNode(node, createdVNodes, context) {\n var newNode = void 0;\n if (node.type === 'text') {\n newNode = (0, _utils.createTextVNode)(node.content, context);\n } else {\n newNode = (0, _h2.default)(node.name, buildVNodeData(node, context), convertNodes(node.children, createdVNodes, context));\n }\n createdVNodes.push(newNode);\n return newNode;\n}\n\nfunction buildVNodeData(node, context) {\n var data = {};\n if (!node.attrs) {\n return data;\n }\n\n var attrs = Object.keys(node.attrs).reduce(function (memo, name) {\n if (name !== 'style' && name !== 'class') {\n var val = (0, _utils.unescapeEntities)(node.attrs[name], context);\n memo ? memo[name] = val : memo = _defineProperty({}, name, val);\n }\n return memo;\n }, null);\n if (attrs) {\n data.attrs = attrs;\n }\n\n var style = parseStyle(node);\n if (style) {\n data.style = style;\n }\n\n var classes = parseClass(node);\n if (classes) {\n data.class = classes;\n }\n\n return data;\n}\n\nfunction parseStyle(node) {\n try {\n return node.attrs.style.split(';').reduce(function (memo, styleProp) {\n var res = styleProp.split(':');\n var name = (0, _utils.transformName)(res[0].trim());\n if (name) {\n var val = res[1].replace('!important', '').trim();\n memo ? memo[name] = val : memo = _defineProperty({}, name, val);\n }\n return memo;\n }, null);\n } catch (e) {\n return null;\n }\n}\n\nfunction parseClass(node) {\n try {\n return node.attrs.class.split(' ').reduce(function (memo, className) {\n className = className.trim();\n if (className) {\n memo ? memo[className] = true : memo = _defineProperty({}, className, true);\n }\n return memo;\n }, null);\n } catch (e) {\n return null;\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom-virtualize/lib/strings.js\n// module id = 242\n// module chunks = 0","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createTextVNode = createTextVNode;\nexports.transformName = transformName;\nexports.unescapeEntities = unescapeEntities;\n\nvar _vnode = require('snabbdom/vnode');\n\nvar _vnode2 = _interopRequireDefault(_vnode);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createTextVNode(text, context) {\n return (0, _vnode2.default)(undefined, undefined, undefined, unescapeEntities(text, context));\n}\n\nfunction transformName(name) {\n // Replace -a with A to help camel case style property names.\n name = name.replace(/-(\\w)/g, function _replace($1, $2) {\n return $2.toUpperCase();\n });\n // Handle properties that start with a -.\n var firstChar = name.charAt(0).toLowerCase();\n return '' + firstChar + name.substring(1);\n}\n\n// Regex for matching HTML entities.\nvar entityRegex = new RegExp('&[a-z0-9#]+;', 'gi');\n// Element for setting innerHTML for transforming entities.\nvar el = null;\n\nfunction unescapeEntities(text, context) {\n // Create the element using the context if it doesn't exist.\n if (!el) {\n el = context.createElement('div');\n }\n return text.replace(entityRegex, function (entity) {\n el.innerHTML = entity;\n return el.textContent;\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom-virtualize/lib/utils.js\n// module id = 243\n// module chunks = 0","module.exports = require('./lib/strings');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom-virtualize/strings.js\n// module id = 244\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar vnode_1 = require(\"./vnode\");\nvar is = require(\"./is\");\nfunction addNS(data, children, sel) {\n data.ns = 'http://www.w3.org/2000/svg';\n if (sel !== 'foreignObject' && children !== undefined) {\n for (var i = 0; i < children.length; ++i) {\n var childData = children[i].data;\n if (childData !== undefined) {\n addNS(childData, children[i].children, children[i].sel);\n }\n }\n }\n}\nfunction h(sel, b, c) {\n var data = {}, children, text, i;\n if (c !== undefined) {\n data = b;\n if (is.array(c)) {\n children = c;\n }\n else if (is.primitive(c)) {\n text = c;\n }\n else if (c && c.sel) {\n children = [c];\n }\n }\n else if (b !== undefined) {\n if (is.array(b)) {\n children = b;\n }\n else if (is.primitive(b)) {\n text = b;\n }\n else if (b && b.sel) {\n children = [b];\n }\n else {\n data = b;\n }\n }\n if (is.array(children)) {\n for (i = 0; i < children.length; ++i) {\n if (is.primitive(children[i]))\n children[i] = vnode_1.vnode(undefined, undefined, undefined, children[i], undefined);\n }\n }\n if (sel[0] === 's' && sel[1] === 'v' && sel[2] === 'g' &&\n (sel.length === 3 || sel[3] === '.' || sel[3] === '#')) {\n addNS(data, children, sel);\n }\n return vnode_1.vnode(sel, data, children, text, undefined);\n}\nexports.h = h;\n;\nexports.default = h;\n//# sourceMappingURL=h.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom/h.js\n// module id = 245\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.array = Array.isArray;\nfunction primitive(s) {\n return typeof s === 'string' || typeof s === 'number';\n}\nexports.primitive = primitive;\n//# sourceMappingURL=is.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/snabbdom/is.js\n// module id = 246\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar types_1 = require(\"../types\");\nfunction overrideCommandStackOptions(container, options) {\n var defaultOptions = container.get(types_1.TYPES.CommandStackOptions);\n for (var p in options) {\n defaultOptions[p] = options[p];\n }\n return defaultOptions;\n}\nexports.overrideCommandStackOptions = overrideCommandStackOptions;\n//# sourceMappingURL=command-stack-options.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/commands/command-stack-options.js\n// module id = 247\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar smodel_storage_1 = require(\"./model/smodel-storage\");\nvar types_1 = require(\"./types\");\nvar initialize_canvas_1 = require(\"./features/initialize-canvas\");\nvar logging_1 = require(\"../utils/logging\");\nvar action_dispatcher_1 = require(\"./actions/action-dispatcher\");\nvar action_handler_1 = require(\"./actions/action-handler\");\nvar command_stack_1 = require(\"./commands/command-stack\");\nvar smodel_factory_1 = require(\"./model/smodel-factory\");\nvar animation_frame_syncer_1 = require(\"./animations/animation-frame-syncer\");\nvar viewer_1 = require(\"./views/viewer\");\nvar mouse_tool_1 = require(\"./views/mouse-tool\");\nvar key_tool_1 = require(\"./views/key-tool\");\nvar vnode_decorators_1 = require(\"./views/vnode-decorators\");\nvar view_1 = require(\"./views/view\");\nvar viewer_cache_1 = require(\"./views/viewer-cache\");\nvar dom_helper_1 = require(\"./views/dom-helper\");\nvar id_decorator_1 = require(\"./views/id-decorator\");\nvar command_1 = require(\"./commands/command\");\nvar defaultContainerModule = new inversify_1.ContainerModule(function (bind) {\n // Logging ---------------------------------------------\n bind(types_1.TYPES.ILogger).to(logging_1.NullLogger).inSingletonScope();\n bind(types_1.TYPES.LogLevel).toConstantValue(logging_1.LogLevel.warn);\n // Registries ---------------------------------------------\n bind(types_1.TYPES.ActionHandlerRegistry).to(action_handler_1.ActionHandlerRegistry).inSingletonScope();\n bind(types_1.TYPES.ViewRegistry).to(view_1.ViewRegistry).inSingletonScope();\n // Model Creation ---------------------------------------------\n bind(types_1.TYPES.IModelFactory).to(smodel_factory_1.SModelFactory).inSingletonScope();\n // Action Dispatcher ---------------------------------------------\n bind(types_1.TYPES.IActionDispatcher).to(action_dispatcher_1.ActionDispatcher).inSingletonScope();\n bind(types_1.TYPES.IActionDispatcherProvider).toProvider(function (context) {\n return function () {\n return new Promise(function (resolve) {\n resolve(context.container.get(types_1.TYPES.IActionDispatcher));\n });\n };\n });\n // Action handler\n bind(types_1.TYPES.IActionHandlerInitializer).to(command_1.CommandActionHandlerInitializer);\n // Command Stack ---------------------------------------------\n bind(types_1.TYPES.ICommandStack).to(command_stack_1.CommandStack).inSingletonScope();\n bind(types_1.TYPES.ICommandStackProvider).toProvider(function (context) {\n return function () {\n return new Promise(function (resolve) {\n resolve(context.container.get(types_1.TYPES.ICommandStack));\n });\n };\n });\n bind(types_1.TYPES.CommandStackOptions).toConstantValue({\n defaultDuration: 250,\n undoHistoryLimit: 50\n });\n // Viewer ---------------------------------------------\n bind(viewer_1.Viewer).toSelf().inSingletonScope();\n bind(types_1.TYPES.IViewer).toDynamicValue(function (context) {\n return context.container.get(viewer_1.Viewer);\n }).inSingletonScope().whenTargetNamed('delegate');\n bind(viewer_cache_1.ViewerCache).toSelf().inSingletonScope();\n bind(types_1.TYPES.IViewer).toDynamicValue(function (context) {\n return context.container.get(viewer_cache_1.ViewerCache);\n }).inSingletonScope().whenTargetIsDefault();\n bind(types_1.TYPES.IViewerProvider).toProvider(function (context) {\n return function () {\n return new Promise(function (resolve) {\n resolve(context.container.get(types_1.TYPES.IViewer));\n });\n };\n });\n bind(types_1.TYPES.ViewerOptions).toConstantValue({\n baseDiv: 'sprotty',\n baseClass: 'sprotty',\n hiddenDiv: 'sprotty-hidden',\n hiddenClass: 'sprotty-hidden',\n popupDiv: 'sprotty-popup',\n popupClass: 'sprotty-popup',\n popupClosedClass: 'sprotty-popup-closed',\n needsClientLayout: true,\n needsServerLayout: false,\n popupOpenDelay: 700,\n popupCloseDelay: 300\n });\n bind(types_1.TYPES.DOMHelper).to(dom_helper_1.DOMHelper).inSingletonScope();\n bind(types_1.TYPES.ModelRendererFactory).toFactory(function (context) {\n return function (decorators) {\n var viewRegistry = context.container.get(types_1.TYPES.ViewRegistry);\n return new viewer_1.ModelRenderer(viewRegistry, decorators);\n };\n });\n // Tools & Decorators --------------------------------------\n bind(id_decorator_1.IdDecorator).toSelf().inSingletonScope();\n bind(types_1.TYPES.IVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(id_decorator_1.IdDecorator);\n }).inSingletonScope();\n bind(mouse_tool_1.MouseTool).toSelf().inSingletonScope();\n bind(types_1.TYPES.IVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(mouse_tool_1.MouseTool);\n }).inSingletonScope();\n bind(key_tool_1.KeyTool).toSelf().inSingletonScope();\n bind(types_1.TYPES.IVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(key_tool_1.KeyTool);\n }).inSingletonScope();\n bind(vnode_decorators_1.FocusFixDecorator).toSelf().inSingletonScope();\n bind(types_1.TYPES.IVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(vnode_decorators_1.FocusFixDecorator);\n }).inSingletonScope();\n bind(types_1.TYPES.PopupVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(id_decorator_1.IdDecorator);\n }).inSingletonScope();\n bind(mouse_tool_1.PopupMouseTool).toSelf().inSingletonScope();\n bind(types_1.TYPES.PopupVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(mouse_tool_1.PopupMouseTool);\n }).inSingletonScope();\n bind(types_1.TYPES.HiddenVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(id_decorator_1.IdDecorator);\n }).inSingletonScope();\n // Animation Frame Sync ------------------------------------------\n bind(types_1.TYPES.AnimationFrameSyncer).to(animation_frame_syncer_1.AnimationFrameSyncer).inSingletonScope();\n // Canvas Initialization ---------------------------------------------\n bind(types_1.TYPES.ICommand).toConstructor(initialize_canvas_1.InitializeCanvasBoundsCommand);\n bind(initialize_canvas_1.CanvasBoundsInitializer).toSelf().inSingletonScope();\n bind(types_1.TYPES.IVNodeDecorator).toDynamicValue(function (context) {\n return context.container.get(initialize_canvas_1.CanvasBoundsInitializer);\n }).inSingletonScope();\n bind(types_1.TYPES.SModelStorage).to(smodel_storage_1.SModelStorage).inSingletonScope();\n});\nexports.default = defaultContainerModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/di.config.js\n// module id = 248\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../types\");\nvar dom_helper_1 = require(\"./dom-helper\");\nvar vnode_utils_1 = require(\"./vnode-utils\");\nvar IdDecorator = /** @class */ (function () {\n function IdDecorator(logger, domHelper) {\n this.logger = logger;\n this.domHelper = domHelper;\n }\n IdDecorator.prototype.decorate = function (vnode, element) {\n var attrs = vnode_utils_1.getAttrs(vnode);\n if (attrs.id !== undefined)\n this.logger.warn(vnode, 'Overriding id of vnode (' + attrs.id + '). Make sure not to set it manually in view.');\n attrs.id = this.domHelper.createUniqueDOMElementId(element);\n if (!vnode.key)\n vnode.key = element.id;\n return vnode;\n };\n IdDecorator.prototype.postUpdate = function () {\n };\n IdDecorator = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ILogger)),\n __param(1, inversify_1.inject(types_1.TYPES.DOMHelper)),\n __metadata(\"design:paramtypes\", [Object, dom_helper_1.DOMHelper])\n ], IdDecorator);\n return IdDecorator;\n}());\nexports.IdDecorator = IdDecorator;\n//# sourceMappingURL=id-decorator.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/id-decorator.js\n// module id = 249\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar types_1 = require(\"../types\");\nfunction overrideViewerOptions(container, options) {\n var defaultOptions = container.get(types_1.TYPES.ViewerOptions);\n for (var p in options) {\n defaultOptions[p] = options[p];\n }\n return defaultOptions;\n}\nexports.overrideViewerOptions = overrideViewerOptions;\n//# sourceMappingURL=viewer-options.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/base/views/viewer-options.js\n// module id = 250\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar bounds_manipulation_1 = require(\"./bounds-manipulation\");\nvar hidden_bounds_updater_1 = require(\"./hidden-bounds-updater\");\nvar layout_1 = require(\"./layout\");\nvar boundsModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.ICommand).toConstructor(bounds_manipulation_1.SetBoundsCommand);\n bind(types_1.TYPES.ICommand).toConstructor(bounds_manipulation_1.RequestBoundsCommand);\n bind(types_1.TYPES.HiddenVNodeDecorator).to(hidden_bounds_updater_1.HiddenBoundsUpdater).inSingletonScope();\n bind(types_1.TYPES.Layouter).to(layout_1.Layouter).inSingletonScope();\n bind(types_1.TYPES.LayoutRegistry).to(layout_1.LayoutRegistry).inSingletonScope();\n});\nexports.default = boundsModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/di.config.js\n// module id = 251\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar geometry_1 = require(\"../../utils/geometry\");\nvar smodel_1 = require(\"../../base/model/smodel\");\nvar bounds_manipulation_1 = require(\"./bounds-manipulation\");\nvar model_1 = require(\"./model\");\nvar layout_1 = require(\"./layout\");\nvar model_2 = require(\"../export/model\");\nvar BoundsData = /** @class */ (function () {\n function BoundsData() {\n }\n return BoundsData;\n}());\nexports.BoundsData = BoundsData;\n/**\n * Grabs the bounds from hidden SVG DOM elements, applies layouts and fires\n * ComputedBoundsActions.\n *\n * The actual bounds of an element can usually not be determined from the SModel\n * as they depend on the view implementation and CSS stylings. So the best way is\n * to grab them from a live (but hidden) SVG using getBBox().\n *\n * If an element is Alignable, and the top-left corner of its bounding box is not\n * the origin, we also issue a realign with the ComputedBoundsAction.\n */\nvar HiddenBoundsUpdater = /** @class */ (function () {\n function HiddenBoundsUpdater(actionDispatcher, layouter) {\n this.actionDispatcher = actionDispatcher;\n this.layouter = layouter;\n this.element2boundsData = new Map;\n }\n HiddenBoundsUpdater.prototype.decorate = function (vnode, element) {\n if (model_1.isSizeable(element) || model_1.isLayoutContainer(element)) {\n this.element2boundsData.set(element, {\n vnode: vnode,\n bounds: element.bounds,\n boundsChanged: false,\n alignmentChanged: false\n });\n }\n if (element instanceof smodel_1.SModelRoot)\n this.root = element;\n return vnode;\n };\n HiddenBoundsUpdater.prototype.postUpdate = function () {\n if (this.root !== undefined && model_2.isExportable(this.root) && this.root.export)\n return;\n this.getBoundsFromDOM();\n this.layouter.layout(this.element2boundsData);\n var resizes = [];\n var realignments = [];\n this.element2boundsData.forEach(function (boundsData, element) {\n if (boundsData.boundsChanged && boundsData.bounds !== undefined)\n resizes.push({\n elementId: element.id,\n newBounds: boundsData.bounds\n });\n if (boundsData.alignmentChanged && boundsData.alignment !== undefined)\n realignments.push({\n elementId: element.id,\n newAlignment: boundsData.alignment\n });\n });\n var revision = (this.root !== undefined) ? this.root.revision : undefined;\n this.actionDispatcher.dispatch(new bounds_manipulation_1.ComputedBoundsAction(resizes, revision, realignments));\n this.element2boundsData.clear();\n };\n HiddenBoundsUpdater.prototype.getBoundsFromDOM = function () {\n var _this = this;\n this.element2boundsData.forEach(function (boundsData, element) {\n if (boundsData.bounds && model_1.isSizeable(element)) {\n var vnode = boundsData.vnode;\n if (vnode && vnode.elm) {\n var boundingBox = _this.getBounds(vnode.elm, element);\n if (model_1.isAlignable(element) && !(geometry_1.almostEquals(boundingBox.x, 0) && geometry_1.almostEquals(boundingBox.y, 0))) {\n boundsData.alignment = {\n x: -boundingBox.x,\n y: -boundingBox.y\n };\n boundsData.alignmentChanged = true;\n }\n var newBounds = {\n x: element.bounds.x,\n y: element.bounds.y,\n width: boundingBox.width,\n height: boundingBox.height\n };\n if (!(geometry_1.almostEquals(newBounds.x, element.bounds.x)\n && geometry_1.almostEquals(newBounds.y, element.bounds.y)\n && geometry_1.almostEquals(newBounds.width, element.bounds.width)\n && geometry_1.almostEquals(newBounds.height, element.bounds.height))) {\n boundsData.bounds = newBounds;\n boundsData.boundsChanged = true;\n }\n }\n }\n });\n };\n HiddenBoundsUpdater.prototype.getBounds = function (elm, element) {\n var bounds = elm.getBBox();\n return {\n x: bounds.x,\n y: bounds.y,\n width: bounds.width,\n height: bounds.height\n };\n };\n HiddenBoundsUpdater = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.Layouter)),\n __metadata(\"design:paramtypes\", [Object, layout_1.Layouter])\n ], HiddenBoundsUpdater);\n return HiddenBoundsUpdater;\n}());\nexports.HiddenBoundsUpdater = HiddenBoundsUpdater;\n//# sourceMappingURL=hidden-bounds-updater.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/hidden-bounds-updater.js\n// module id = 252\n// module chunks = 0","\"use strict\";\n/*\n* Copyright (C) 2017 TypeFox and others.\n*\n* Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar animation_1 = require(\"../../base/animations/animation\");\nvar ResizeAnimation = /** @class */ (function (_super) {\n __extends(ResizeAnimation, _super);\n function ResizeAnimation(model, elementResizes, context, reverse) {\n if (reverse === void 0) { reverse = false; }\n var _this = _super.call(this, context) || this;\n _this.model = model;\n _this.elementResizes = elementResizes;\n _this.reverse = reverse;\n return _this;\n }\n ResizeAnimation.prototype.tween = function (t) {\n var _this = this;\n this.elementResizes.forEach(function (elementResize) {\n var element = elementResize.element;\n var newDimension = (_this.reverse) ? {\n width: (1 - t) * elementResize.toDimension.width + t * elementResize.fromDimension.width,\n height: (1 - t) * elementResize.toDimension.height + t * elementResize.fromDimension.height\n } : {\n width: (1 - t) * elementResize.fromDimension.width + t * elementResize.toDimension.width,\n height: (1 - t) * elementResize.fromDimension.height + t * elementResize.toDimension.height\n };\n element.bounds = {\n x: element.bounds.x,\n y: element.bounds.y,\n width: newDimension.width,\n height: newDimension.height\n };\n });\n return this.model;\n };\n return ResizeAnimation;\n}(animation_1.Animation));\nexports.ResizeAnimation = ResizeAnimation;\n//# sourceMappingURL=resize.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/bounds/resize.js\n// module id = 253\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar button_handler_1 = require(\"./button-handler\");\nvar buttonModule = new inversify_1.ContainerModule(function (bind) {\n bind(button_handler_1.ButtonHandlerRegistry).toSelf().inSingletonScope();\n});\nexports.default = buttonModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/button/di.config.js\n// module id = 254\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar expand_1 = require(\"./expand\");\nvar expandModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.IButtonHandler).toConstructor(expand_1.ExpandButtonHandler);\n});\nexports.default = expandModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/expand/di.config.js\n// module id = 255\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar model_1 = require(\"./model\");\nvar smodel_utils_1 = require(\"../../base/model/smodel-utils\");\nvar JSX = { createElement: snabbdom.svg };\nvar ExpandButtonView = /** @class */ (function () {\n function ExpandButtonView() {\n }\n ExpandButtonView.prototype.render = function (button, context) {\n var expandable = smodel_utils_1.findParentByFeature(button, model_1.isExpandable);\n var path = (expandable !== undefined && expandable.expanded)\n ? 'M 1,5 L 8,12 L 15,5 Z'\n : 'M 1,8 L 8,15 L 8,1 Z';\n return JSX.createElement(\"g\", { \"class-sprotty-button\": \"{true}\", \"class-enabled\": \"{button.enabled}\" },\n JSX.createElement(\"rect\", { x: 0, y: 0, width: 16, height: 16, opacity: 0 }),\n JSX.createElement(\"path\", { d: path }));\n };\n return ExpandButtonView;\n}());\nexports.ExpandButtonView = ExpandButtonView;\n//# sourceMappingURL=views.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/expand/views.js\n// module id = 256\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar export_1 = require(\"./export\");\nvar svg_exporter_1 = require(\"./svg-exporter\");\nvar exportSvgModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.KeyListener).to(export_1.ExportSvgKeyListener).inSingletonScope();\n bind(types_1.TYPES.HiddenVNodeDecorator).to(export_1.ExportSvgDecorator).inSingletonScope();\n bind(types_1.TYPES.ICommand).toConstructor(export_1.ExportSvgCommand);\n bind(types_1.TYPES.SvgExporter).to(svg_exporter_1.SvgExporter).inSingletonScope();\n});\nexports.default = exportSvgModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/export/di.config.js\n// module id = 257\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar fade_1 = require(\"./fade\");\nvar fadeModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.IVNodeDecorator).to(fade_1.ElementFader).inSingletonScope();\n});\nexports.default = fadeModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/fade/di.config.js\n// module id = 258\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar hover_1 = require(\"./hover\");\nvar popup_position_updater_1 = require(\"./popup-position-updater\");\nvar initializer_1 = require(\"./initializer\");\nvar hoverModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.PopupVNodeDecorator).to(popup_position_updater_1.PopupPositionUpdater).inSingletonScope();\n bind(types_1.TYPES.IActionHandlerInitializer).to(initializer_1.PopupActionHandlerInitializer);\n bind(types_1.TYPES.ICommand).toConstructor(hover_1.HoverFeedbackCommand);\n bind(types_1.TYPES.ICommand).toConstructor(hover_1.SetPopupModelCommand);\n bind(types_1.TYPES.MouseListener).to(hover_1.HoverMouseListener);\n bind(types_1.TYPES.PopupMouseListener).to(hover_1.PopupHoverMouseListener);\n bind(types_1.TYPES.KeyListener).to(hover_1.HoverKeyListener);\n bind(types_1.TYPES.HoverState).toConstantValue({\n mouseOverTimer: undefined,\n mouseOutTimer: undefined,\n popupOpen: false,\n previousPopupElement: undefined\n });\n});\nexports.default = hoverModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/hover/di.config.js\n// module id = 259\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar hover_1 = require(\"./hover\");\nvar smodel_factory_1 = require(\"../../base/model/smodel-factory\");\nvar center_fit_1 = require(\"../viewport/center-fit\");\nvar viewport_1 = require(\"../viewport/viewport\");\nvar move_1 = require(\"../move/move\");\nvar ClosePopupActionHandler = /** @class */ (function () {\n function ClosePopupActionHandler() {\n this.popupOpen = false;\n }\n ClosePopupActionHandler.prototype.handle = function (action) {\n if (action.kind === hover_1.SetPopupModelCommand.KIND) {\n this.popupOpen = action.newRoot.type !== smodel_factory_1.EMPTY_ROOT.type;\n }\n else if (this.popupOpen) {\n return new hover_1.SetPopupModelAction({ id: smodel_factory_1.EMPTY_ROOT.id, type: smodel_factory_1.EMPTY_ROOT.type });\n }\n };\n return ClosePopupActionHandler;\n}());\nvar PopupActionHandlerInitializer = /** @class */ (function () {\n function PopupActionHandlerInitializer() {\n }\n PopupActionHandlerInitializer.prototype.initialize = function (registry) {\n var closePopupActionHandler = new ClosePopupActionHandler();\n registry.register(center_fit_1.FitToScreenCommand.KIND, closePopupActionHandler);\n registry.register(center_fit_1.CenterCommand.KIND, closePopupActionHandler);\n registry.register(viewport_1.ViewportCommand.KIND, closePopupActionHandler);\n registry.register(hover_1.SetPopupModelCommand.KIND, closePopupActionHandler);\n registry.register(move_1.MoveCommand.KIND, closePopupActionHandler);\n };\n PopupActionHandlerInitializer = __decorate([\n inversify_1.injectable()\n ], PopupActionHandlerInitializer);\n return PopupActionHandlerInitializer;\n}());\nexports.PopupActionHandlerInitializer = PopupActionHandlerInitializer;\n//# sourceMappingURL=initializer.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/hover/initializer.js\n// module id = 260\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar PopupPositionUpdater = /** @class */ (function () {\n function PopupPositionUpdater(options) {\n this.options = options;\n }\n PopupPositionUpdater.prototype.decorate = function (vnode, element) {\n return vnode;\n };\n PopupPositionUpdater.prototype.postUpdate = function () {\n var popupDiv = document.getElementById(this.options.popupDiv);\n if (popupDiv !== null && typeof window !== 'undefined') {\n var boundingClientRect = popupDiv.getBoundingClientRect();\n if (window.innerHeight < boundingClientRect.height + boundingClientRect.top) {\n popupDiv.style.top = (window.scrollY + window.innerHeight - boundingClientRect.height - 5) + 'px';\n }\n if (window.innerWidth < boundingClientRect.left + boundingClientRect.width) {\n popupDiv.style.left = (window.scrollX + window.innerWidth - boundingClientRect.width - 5) + 'px';\n }\n if (boundingClientRect.left < 0) {\n popupDiv.style.left = '0px';\n }\n if (boundingClientRect.top < 0) {\n popupDiv.style.top = '0px';\n }\n }\n };\n PopupPositionUpdater = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __metadata(\"design:paramtypes\", [Object])\n ], PopupPositionUpdater);\n return PopupPositionUpdater;\n}());\nexports.PopupPositionUpdater = PopupPositionUpdater;\n//# sourceMappingURL=popup-position-updater.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/hover/popup-position-updater.js\n// module id = 261\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar move_1 = require(\"./move\");\nvar moveModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.MouseListener).to(move_1.MoveMouseListener);\n bind(types_1.TYPES.ICommand).toConstructor(move_1.MoveCommand);\n bind(types_1.TYPES.IVNodeDecorator).to(move_1.LocationDecorator);\n bind(types_1.TYPES.HiddenVNodeDecorator).to(move_1.LocationDecorator);\n});\nexports.default = moveModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/move/di.config.js\n// module id = 262\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar open_1 = require(\"./open\");\nvar openModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.MouseListener).to(open_1.OpenMouseListener);\n});\nexports.default = openModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/open/di.config.js\n// module id = 263\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar select_1 = require(\"./select\");\nvar selectModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.ICommand).toConstructor(select_1.SelectCommand);\n bind(types_1.TYPES.ICommand).toConstructor(select_1.SelectAllCommand);\n bind(types_1.TYPES.KeyListener).to(select_1.SelectKeyboardListener);\n bind(types_1.TYPES.MouseListener).to(select_1.SelectMouseListener);\n});\nexports.default = selectModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/select/di.config.js\n// module id = 264\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar undo_redo_1 = require(\"./undo-redo\");\nvar undoRedoModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.KeyListener).to(undo_redo_1.UndoRedoKeyListener);\n});\nexports.default = undoRedoModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/undo-redo/di.config.js\n// module id = 265\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../../base/types\");\nvar center_fit_1 = require(\"./center-fit\");\nvar viewport_1 = require(\"./viewport\");\nvar scroll_1 = require(\"./scroll\");\nvar zoom_1 = require(\"./zoom\");\nvar viewportModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.ICommand).toConstructor(center_fit_1.CenterCommand);\n bind(types_1.TYPES.ICommand).toConstructor(center_fit_1.FitToScreenCommand);\n bind(types_1.TYPES.ICommand).toConstructor(viewport_1.ViewportCommand);\n bind(types_1.TYPES.KeyListener).to(center_fit_1.CenterKeyboardListener);\n bind(types_1.TYPES.MouseListener).to(scroll_1.ScrollMouseListener);\n bind(types_1.TYPES.MouseListener).to(zoom_1.ZoomMouseListener);\n});\nexports.default = viewportModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/features/viewport/di.config.js\n// module id = 266\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar smodel_factory_1 = require(\"../base/model/smodel-factory\");\nvar smodel_utils_1 = require(\"../base/model/smodel-utils\");\nvar sgraph_1 = require(\"./sgraph\");\nvar model_1 = require(\"../features/button/model\");\nvar SGraphFactory = /** @class */ (function (_super) {\n __extends(SGraphFactory, _super);\n function SGraphFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SGraphFactory.prototype.createElement = function (schema, parent) {\n if (this.isNodeSchema(schema))\n return this.initializeChild(new sgraph_1.SNode(), schema, parent);\n else if (this.isPortSchema(schema))\n return this.initializeChild(new sgraph_1.SPort(), schema, parent);\n else if (this.isEdgeSchema(schema))\n return this.initializeChild(new sgraph_1.SEdge(), schema, parent);\n else if (this.isLabelSchema(schema))\n return this.initializeChild(new sgraph_1.SLabel(), schema, parent);\n else if (this.isCompartmentSchema(schema))\n return this.initializeChild(new sgraph_1.SCompartment(), schema, parent);\n if (this.isButtonSchema(schema))\n return this.initializeChild(new model_1.SButton(), schema, parent);\n else\n return _super.prototype.createElement.call(this, schema, parent);\n };\n SGraphFactory.prototype.createRoot = function (schema) {\n if (this.isGraphSchema(schema))\n return this.initializeRoot(new sgraph_1.SGraph(), schema);\n else\n return _super.prototype.createRoot.call(this, schema);\n };\n SGraphFactory.prototype.isGraphSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'graph';\n };\n SGraphFactory.prototype.isNodeSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'node';\n };\n SGraphFactory.prototype.isPortSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'port';\n };\n SGraphFactory.prototype.isEdgeSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'edge';\n };\n SGraphFactory.prototype.isLabelSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'label';\n };\n SGraphFactory.prototype.isCompartmentSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'comp';\n };\n SGraphFactory.prototype.isButtonSchema = function (schema) {\n return smodel_utils_1.getBasicType(schema) === 'button';\n };\n SGraphFactory = __decorate([\n inversify_1.injectable()\n ], SGraphFactory);\n return SGraphFactory;\n}(smodel_factory_1.SModelFactory));\nexports.SGraphFactory = SGraphFactory;\n//# sourceMappingURL=sgraph-factory.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/graph/sgraph-factory.js\n// module id = 267\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar strings_1 = require(\"snabbdom-virtualize/strings\");\nvar PreRenderedView = /** @class */ (function () {\n function PreRenderedView() {\n }\n PreRenderedView.prototype.render = function (model, context) {\n var node = strings_1.default(model.code);\n this.correctNamespace(node);\n return node;\n };\n PreRenderedView.prototype.correctNamespace = function (node) {\n if (node.sel === 'svg' || node.sel === 'g')\n this.setNamespace(node, 'http://www.w3.org/2000/svg');\n };\n PreRenderedView.prototype.setNamespace = function (node, ns) {\n if (node.data === undefined)\n node.data = {};\n node.data.ns = ns;\n var children = node.children;\n if (children !== undefined) {\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (typeof child !== 'string')\n this.setNamespace(child, ns);\n }\n }\n };\n return PreRenderedView;\n}());\nexports.PreRenderedView = PreRenderedView;\n//# sourceMappingURL=generic-views.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/lib/generic-views.js\n// module id = 268\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar vnode_utils_1 = require(\"../base/views/vnode-utils\");\nvar JSX = { createElement: snabbdom.html };\nvar HtmlRootView = /** @class */ (function () {\n function HtmlRootView() {\n }\n HtmlRootView.prototype.render = function (model, context) {\n var root = JSX.createElement(\"div\", null, context.renderChildren(model));\n for (var _i = 0, _a = model.classes; _i < _a.length; _i++) {\n var c = _a[_i];\n vnode_utils_1.setClass(root, c, true);\n }\n return root;\n };\n return HtmlRootView;\n}());\nexports.HtmlRootView = HtmlRootView;\n//# sourceMappingURL=html-views.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/lib/html-views.js\n// module id = 269\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar smodel_1 = require(\"../base/model/smodel\");\nvar geometry_1 = require(\"../utils/geometry\");\nvar model_1 = require(\"../features/bounds/model\");\nvar model_2 = require(\"../features/move/model\");\nvar model_3 = require(\"../features/select/model\");\n/**\n * Root model element class for HTML content. Usually this is rendered with a `div` DOM element.\n */\nvar HtmlRoot = /** @class */ (function (_super) {\n __extends(HtmlRoot, _super);\n function HtmlRoot() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.classes = [];\n return _this;\n }\n return HtmlRoot;\n}(smodel_1.SModelRoot));\nexports.HtmlRoot = HtmlRoot;\n/**\n * Pre-rendered elements contain HTML or SVG code to be transferred to the DOM. This can be useful to\n * render complex figures or to compute the view on the server instead of the client code.\n */\nvar PreRenderedElement = /** @class */ (function (_super) {\n __extends(PreRenderedElement, _super);\n function PreRenderedElement() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return PreRenderedElement;\n}(smodel_1.SChildElement));\nexports.PreRenderedElement = PreRenderedElement;\n/**\n * Same as PreRenderedElement, but with a position and a size.\n */\nvar ShapedPreRenderedElement = /** @class */ (function (_super) {\n __extends(ShapedPreRenderedElement, _super);\n function ShapedPreRenderedElement() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.position = geometry_1.ORIGIN_POINT;\n _this.size = geometry_1.EMPTY_DIMENSION;\n _this.selected = false;\n _this.alignment = geometry_1.ORIGIN_POINT;\n return _this;\n }\n Object.defineProperty(ShapedPreRenderedElement.prototype, \"bounds\", {\n get: function () {\n return {\n x: this.position.x,\n y: this.position.y,\n width: this.size.width,\n height: this.size.height\n };\n },\n set: function (newBounds) {\n this.position = {\n x: newBounds.x,\n y: newBounds.y\n };\n this.size = {\n width: newBounds.width,\n height: newBounds.height\n };\n },\n enumerable: true,\n configurable: true\n });\n ShapedPreRenderedElement.prototype.hasFeature = function (feature) {\n return feature === model_2.moveFeature || feature === model_1.boundsFeature || feature === model_3.selectFeature || feature === model_1.alignFeature;\n };\n return ShapedPreRenderedElement;\n}(PreRenderedElement));\nexports.ShapedPreRenderedElement = ShapedPreRenderedElement;\n//# sourceMappingURL=model.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/lib/model.js\n// module id = 270\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar snabbdom = require(\"snabbdom-jsx\");\nvar geometry_1 = require(\"../utils/geometry\");\nvar views_1 = require(\"../graph/views\");\nvar JSX = { createElement: snabbdom.svg };\nvar SvgViewportView = /** @class */ (function () {\n function SvgViewportView() {\n }\n SvgViewportView.prototype.render = function (model, context) {\n var transform = \"scale(\" + model.zoom + \") translate(\" + -model.scroll.x + \",\" + -model.scroll.y + \")\";\n return JSX.createElement(\"svg\", null,\n JSX.createElement(\"g\", { transform: transform }, context.renderChildren(model)));\n };\n return SvgViewportView;\n}());\nexports.SvgViewportView = SvgViewportView;\nvar CircularNodeView = /** @class */ (function (_super) {\n __extends(CircularNodeView, _super);\n function CircularNodeView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CircularNodeView.prototype.render = function (node, context) {\n var radius = this.getRadius(node);\n return JSX.createElement(\"g\", null,\n JSX.createElement(\"circle\", { \"class-sprotty-node\": true, \"class-mouseover\": node.hoverFeedback, \"class-selected\": node.selected, r: radius, cx: radius, cy: radius }));\n };\n CircularNodeView.prototype.getRadius = function (node) {\n var d = Math.min(node.size.width, node.size.height);\n if (d > 0)\n return d / 2;\n else\n return 0;\n };\n CircularNodeView.prototype.getAnchor = function (node, refPoint, anchorCorrection) {\n var radius = this.getRadius(node);\n var cx = node.position.x + radius;\n var cy = node.position.y + radius;\n var dx = cx - refPoint.x;\n var dy = cy - refPoint.y;\n var distance = Math.sqrt(dx * dx + dy * dy);\n var normX = (dx / distance) || 0;\n var normY = (dy / distance) || 0;\n var strokeCorrection = 0.5 * this.getStrokeWidth(node);\n return {\n x: cx - normX * (radius + strokeCorrection + anchorCorrection),\n y: cy - normY * (radius + strokeCorrection + anchorCorrection)\n };\n };\n return CircularNodeView;\n}(views_1.AnchorableView));\nexports.CircularNodeView = CircularNodeView;\nvar RectangularNodeView = /** @class */ (function (_super) {\n __extends(RectangularNodeView, _super);\n function RectangularNodeView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RectangularNodeView.prototype.render = function (node, context) {\n return JSX.createElement(\"g\", null,\n JSX.createElement(\"rect\", { \"class-sprotty-node\": true, \"class-mouseover\": node.hoverFeedback, \"class-selected\": node.selected, x: \"0\", y: \"0\", width: node.size.width, height: node.size.height }));\n };\n RectangularNodeView.prototype.getAnchor = function (node, refPoint, anchorCorrection) {\n var bounds = node.bounds;\n var correction = 0.5 * this.getStrokeWidth(node) + anchorCorrection;\n var c = geometry_1.center(bounds);\n var finder = new NearestPointFinder(c, refPoint);\n if (!geometry_1.almostEquals(c.y, refPoint.y)) {\n var xTop = this.getXIntersection(bounds.y, c, refPoint);\n if (xTop >= bounds.x && xTop <= bounds.x + bounds.width)\n finder.addCandidate(xTop, bounds.y - correction);\n var xBottom = this.getXIntersection(bounds.y + bounds.height, c, refPoint);\n if (xBottom >= bounds.x && xBottom <= bounds.x + bounds.width)\n finder.addCandidate(xBottom, bounds.y + bounds.height + correction);\n }\n if (!geometry_1.almostEquals(c.x, refPoint.x)) {\n var yLeft = this.getYIntersection(bounds.x, c, refPoint);\n if (yLeft >= bounds.y && yLeft <= bounds.y + bounds.height)\n finder.addCandidate(bounds.x - correction, yLeft);\n var yRight = this.getYIntersection(bounds.x + bounds.width, c, refPoint);\n if (yRight >= bounds.y && yRight <= bounds.y + bounds.height)\n finder.addCandidate(bounds.x + bounds.width + correction, yRight);\n }\n return finder.best;\n };\n RectangularNodeView.prototype.getXIntersection = function (yIntersection, center, point) {\n var t = (yIntersection - center.y) / (point.y - center.y);\n return (point.x - center.x) * t + center.x;\n };\n RectangularNodeView.prototype.getYIntersection = function (xIntersection, center, point) {\n var t = (xIntersection - center.x) / (point.x - center.x);\n return (point.y - center.y) * t + center.y;\n };\n return RectangularNodeView;\n}(views_1.AnchorableView));\nexports.RectangularNodeView = RectangularNodeView;\nvar NearestPointFinder = /** @class */ (function () {\n function NearestPointFinder(center, refPoint) {\n this.center = center;\n this.refPoint = refPoint;\n this.currentDist = -1;\n }\n NearestPointFinder.prototype.addCandidate = function (x, y) {\n var dx = this.refPoint.x - x;\n var dy = this.refPoint.y - y;\n var dist = dx * dx + dy * dy;\n if (this.currentDist < 0 || dist < this.currentDist) {\n this.currentBest = {\n x: x,\n y: y\n };\n this.currentDist = dist;\n }\n };\n Object.defineProperty(NearestPointFinder.prototype, \"best\", {\n get: function () {\n if (this.currentBest === undefined)\n return this.center;\n else\n return this.currentBest;\n },\n enumerable: true,\n configurable: true\n });\n return NearestPointFinder;\n}());\n//# sourceMappingURL=svg-views.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/lib/svg-views.js\n// module id = 271\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../base/types\");\n/**\n * This container module does NOT provide any binding for TYPES.ModelSource because that needs to be\n * done according to the needs of the application. You can choose between a local (LocalModelSource)\n * and a remote (e.g. WebSocketDiagramServer) implementation.\n */\nvar modelSourceModule = new inversify_1.ContainerModule(function (bind) {\n bind(types_1.TYPES.ModelSourceProvider).toProvider(function (context) {\n return function () {\n return new Promise(function (resolve) {\n resolve(context.container.get(types_1.TYPES.ModelSource));\n });\n };\n });\n});\nexports.default = modelSourceModule;\n//# sourceMappingURL=di.config.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/di.config.js\n// module id = 272\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar types_1 = require(\"../base/types\");\nvar action_handler_1 = require(\"../base/actions/action-handler\");\nvar smodel_utils_1 = require(\"../base/model/smodel-utils\");\nvar set_model_1 = require(\"../base/features/set-model\");\nvar smodel_1 = require(\"../base/model/smodel\");\nvar bounds_manipulation_1 = require(\"../features/bounds/bounds-manipulation\");\nvar model_matching_1 = require(\"../features/update/model-matching\");\nvar update_model_1 = require(\"../features/update/update-model\");\nvar hover_1 = require(\"../features/hover/hover\");\nvar model_source_1 = require(\"./model-source\");\nvar svg_exporter_1 = require(\"../features/export/svg-exporter\");\nvar file_saver_1 = require(\"file-saver\");\nvar expand_1 = require(\"../features/expand/expand\");\nvar diagram_state_1 = require(\"./diagram-state\");\n/**\n * A model source that handles actions for bounds calculation and model\n * updates.\n */\nvar LocalModelSource = /** @class */ (function (_super) {\n __extends(LocalModelSource, _super);\n function LocalModelSource(actionDispatcher, actionHandlerRegistry, viewerOptions, popupModelFactory, modelProvider) {\n var _this = _super.call(this, actionDispatcher, actionHandlerRegistry, viewerOptions) || this;\n _this.popupModelFactory = popupModelFactory;\n _this.modelProvider = modelProvider;\n _this.currentRoot = {\n type: 'NONE',\n id: 'ROOT'\n };\n _this.diagramState = {\n expansionState: new diagram_state_1.ExpansionState(_this.currentRoot)\n };\n return _this;\n }\n Object.defineProperty(LocalModelSource.prototype, \"model\", {\n get: function () {\n return this.currentRoot;\n },\n set: function (root) {\n this.setModel(root);\n },\n enumerable: true,\n configurable: true\n });\n LocalModelSource.prototype.initialize = function (registry) {\n _super.prototype.initialize.call(this, registry);\n // Register model manipulation commands\n registry.registerCommand(update_model_1.UpdateModelCommand);\n // Register this model source\n registry.register(bounds_manipulation_1.ComputedBoundsAction.KIND, this);\n registry.register(hover_1.RequestPopupModelAction.KIND, this);\n registry.register(expand_1.CollapseExpandAction.KIND, this);\n registry.register(expand_1.CollapseExpandAllAction.KIND, this);\n };\n LocalModelSource.prototype.setModel = function (newRoot) {\n this.currentRoot = newRoot;\n this.diagramState = {\n expansionState: new diagram_state_1.ExpansionState(newRoot)\n };\n this.submitModel(newRoot, false);\n };\n LocalModelSource.prototype.updateModel = function (newRoot) {\n if (newRoot === undefined) {\n this.submitModel(this.currentRoot, true);\n }\n else {\n this.currentRoot = newRoot;\n this.submitModel(newRoot, true);\n }\n };\n LocalModelSource.prototype.submitModel = function (newRoot, update) {\n if (this.viewerOptions.needsClientLayout) {\n this.actionDispatcher.dispatch(new bounds_manipulation_1.RequestBoundsAction(newRoot));\n }\n else {\n if (update) {\n this.actionDispatcher.dispatch(new update_model_1.UpdateModelAction(newRoot));\n }\n else {\n this.actionDispatcher.dispatch(new set_model_1.SetModelAction(newRoot));\n }\n if (this.onModelSubmitted !== undefined) {\n this.onModelSubmitted(newRoot);\n }\n }\n };\n LocalModelSource.prototype.applyMatches = function (matches) {\n var root = this.currentRoot;\n model_matching_1.applyMatches(root, matches);\n if (this.viewerOptions.needsClientLayout) {\n this.actionDispatcher.dispatch(new bounds_manipulation_1.RequestBoundsAction(root));\n }\n else {\n var update = new update_model_1.UpdateModelAction();\n update.matches = matches;\n this.actionDispatcher.dispatch(update);\n if (this.onModelSubmitted !== undefined) {\n this.onModelSubmitted(root);\n }\n }\n };\n LocalModelSource.prototype.addElements = function (elements) {\n var matches = [];\n for (var i in elements) {\n var e = elements[i];\n if (e.element !== undefined && e.parentId !== undefined) {\n matches.push({\n right: e.element,\n rightParentId: e.parentId\n });\n }\n else if (e.id !== undefined) {\n matches.push({\n right: e,\n rightParentId: this.currentRoot.id\n });\n }\n }\n this.applyMatches(matches);\n };\n LocalModelSource.prototype.removeElements = function (elements) {\n var matches = [];\n var index = new smodel_1.SModelIndex();\n index.add(this.currentRoot);\n for (var i in elements) {\n var e = elements[i];\n if (e.elementId !== undefined && e.parentId !== undefined) {\n var element = index.getById(e.elementId);\n if (element !== undefined) {\n matches.push({\n left: element,\n leftParentId: e.parentId\n });\n }\n }\n else {\n var element = index.getById(e);\n if (element !== undefined) {\n matches.push({\n left: element,\n leftParentId: this.currentRoot.id\n });\n }\n }\n }\n this.applyMatches(matches);\n };\n LocalModelSource.prototype.handle = function (action) {\n switch (action.kind) {\n case set_model_1.RequestModelAction.KIND:\n this.handleRequestModel(action);\n break;\n case bounds_manipulation_1.ComputedBoundsAction.KIND:\n this.handleComputedBounds(action);\n break;\n case hover_1.RequestPopupModelAction.KIND:\n this.handleRequestPopupModel(action);\n break;\n case svg_exporter_1.ExportSvgAction.KIND:\n this.handleExportSvgAction(action);\n break;\n case expand_1.CollapseExpandAction.KIND:\n this.handleCollapseExpandAction(action);\n break;\n case expand_1.CollapseExpandAllAction.KIND:\n this.handleCollapseExpandAllAction(action);\n break;\n }\n };\n LocalModelSource.prototype.handleRequestModel = function (action) {\n this.submitModel(this.currentRoot, false);\n };\n LocalModelSource.prototype.handleComputedBounds = function (action) {\n var root = this.currentRoot;\n var index = new smodel_1.SModelIndex();\n index.add(root);\n for (var _i = 0, _a = action.bounds; _i < _a.length; _i++) {\n var b = _a[_i];\n var element = index.getById(b.elementId);\n if (element !== undefined)\n this.applyBounds(element, b.newBounds);\n }\n if (action.alignments !== undefined) {\n for (var _b = 0, _c = action.alignments; _b < _c.length; _b++) {\n var a = _c[_b];\n var element = index.getById(a.elementId);\n if (element !== undefined)\n this.applyAlignment(element, a.newAlignment);\n }\n }\n this.actionDispatcher.dispatch(new update_model_1.UpdateModelAction(root));\n if (this.onModelSubmitted !== undefined) {\n this.onModelSubmitted(root);\n }\n };\n LocalModelSource.prototype.applyBounds = function (element, newBounds) {\n var e = element;\n e.position = { x: newBounds.x, y: newBounds.y };\n e.size = { width: newBounds.width, height: newBounds.height };\n };\n LocalModelSource.prototype.applyAlignment = function (element, newAlignment) {\n var e = element;\n e.alignment = { x: newAlignment.x, y: newAlignment.y };\n };\n LocalModelSource.prototype.handleRequestPopupModel = function (action) {\n if (this.popupModelFactory !== undefined) {\n var element = smodel_utils_1.findElement(this.currentRoot, action.elementId);\n var popupRoot = this.popupModelFactory(action, element);\n if (popupRoot !== undefined) {\n popupRoot.canvasBounds = action.bounds;\n this.actionDispatcher.dispatch(new hover_1.SetPopupModelAction(popupRoot));\n }\n }\n };\n LocalModelSource.prototype.handleExportSvgAction = function (action) {\n var blob = new Blob([action.svg], { type: \"text/plain;charset=utf-8\" });\n file_saver_1.saveAs(blob, \"diagram.svg\");\n };\n LocalModelSource.prototype.handleCollapseExpandAction = function (action) {\n if (this.modelProvider !== undefined) {\n this.diagramState.expansionState.apply(action);\n var expandedModel = this.modelProvider.getModel(this.diagramState, this.currentRoot);\n this.updateModel(expandedModel);\n }\n };\n LocalModelSource.prototype.handleCollapseExpandAllAction = function (action) {\n if (this.modelProvider !== undefined) {\n if (action.expand) {\n // Expanding all elements locally is currently not supported\n }\n else {\n this.diagramState.expansionState.collapseAll();\n }\n var expandedModel = this.modelProvider.getModel(this.diagramState, this.currentRoot);\n this.updateModel(expandedModel);\n }\n };\n LocalModelSource = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.IActionDispatcher)),\n __param(1, inversify_1.inject(types_1.TYPES.ActionHandlerRegistry)),\n __param(2, inversify_1.inject(types_1.TYPES.ViewerOptions)),\n __param(3, inversify_1.inject(types_1.TYPES.PopupModelFactory)), __param(3, inversify_1.optional()),\n __param(4, inversify_1.inject(types_1.TYPES.StateAwareModelProvider)), __param(4, inversify_1.optional()),\n __metadata(\"design:paramtypes\", [Object, action_handler_1.ActionHandlerRegistry, Object, Function, Object])\n ], LocalModelSource);\n return LocalModelSource;\n}(model_source_1.ModelSource));\nexports.LocalModelSource = LocalModelSource;\n//# sourceMappingURL=local-model-source.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/local-model-source.js\n// module id = 273\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar logging_1 = require(\"../utils/logging\");\nvar types_1 = require(\"../base/types\");\nvar LoggingAction = /** @class */ (function () {\n function LoggingAction(severity, time, caller, message, params) {\n this.severity = severity;\n this.time = time;\n this.caller = caller;\n this.message = message;\n this.params = params;\n this.kind = LoggingAction.KIND;\n }\n LoggingAction.KIND = 'logging';\n return LoggingAction;\n}());\nexports.LoggingAction = LoggingAction;\n/**\n * A logger that forwards messages of type 'error', 'warn', and 'info' to the model source.\n */\nvar ForwardingLogger = /** @class */ (function () {\n function ForwardingLogger(modelSourceProvider, logLevel) {\n this.modelSourceProvider = modelSourceProvider;\n this.logLevel = logLevel;\n }\n ForwardingLogger.prototype.error = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= logging_1.LogLevel.error)\n this.forward(thisArg, message, logging_1.LogLevel.error, params);\n };\n ForwardingLogger.prototype.warn = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= logging_1.LogLevel.warn)\n this.forward(thisArg, message, logging_1.LogLevel.warn, params);\n };\n ForwardingLogger.prototype.info = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= logging_1.LogLevel.info)\n this.forward(thisArg, message, logging_1.LogLevel.info, params);\n };\n ForwardingLogger.prototype.log = function (thisArg, message) {\n var params = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n params[_i - 2] = arguments[_i];\n }\n if (this.logLevel >= logging_1.LogLevel.log) {\n // We cannot forward 'log' level messages since that would lead to endless loops\n try {\n var caller = typeof thisArg === 'object' ? thisArg.constructor.name : String(thisArg);\n console.log.apply(thisArg, [caller + ': ' + message].concat(params));\n }\n catch (error) { }\n }\n };\n ForwardingLogger.prototype.forward = function (thisArg, message, logLevel, params) {\n var date = new Date();\n var action = new LoggingAction(logging_1.LogLevel[logLevel], date.toLocaleTimeString(), typeof thisArg === 'object' ? thisArg.constructor.name : String(thisArg), message, params.map(function (p) { return JSON.stringify(p); }));\n this.modelSourceProvider().then(function (modelSource) {\n try {\n modelSource.handle(action);\n }\n catch (error) {\n try {\n console.log.apply(thisArg, [message, action, error]);\n }\n catch (error) { }\n }\n });\n };\n ForwardingLogger = __decorate([\n inversify_1.injectable(),\n __param(0, inversify_1.inject(types_1.TYPES.ModelSourceProvider)),\n __param(1, inversify_1.inject(types_1.TYPES.LogLevel)),\n __metadata(\"design:paramtypes\", [Function, Number])\n ], ForwardingLogger);\n return ForwardingLogger;\n}());\nexports.ForwardingLogger = ForwardingLogger;\n//# sourceMappingURL=logging.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/logging.js\n// module id = 274\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar inversify_1 = require(\"inversify\");\nvar diagram_server_1 = require(\"./diagram-server\");\n/**\n * An external ModelSource that connects to the model provider using a\n * websocket.\n */\nvar WebSocketDiagramServer = /** @class */ (function (_super) {\n __extends(WebSocketDiagramServer, _super);\n function WebSocketDiagramServer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WebSocketDiagramServer.prototype.listen = function (webSocket) {\n var _this = this;\n webSocket.addEventListener('message', function (event) {\n _this.messageReceived(event.data);\n });\n webSocket.addEventListener('error', function (event) {\n _this.logger.error(_this, 'error event received', event);\n });\n this.webSocket = webSocket;\n };\n WebSocketDiagramServer.prototype.disconnect = function () {\n if (this.webSocket) {\n this.webSocket.close();\n this.webSocket = undefined;\n }\n };\n WebSocketDiagramServer.prototype.sendMessage = function (message) {\n if (this.webSocket) {\n this.webSocket.send(JSON.stringify(message));\n }\n else {\n throw new Error('WebSocket is not connected');\n }\n };\n WebSocketDiagramServer = __decorate([\n inversify_1.injectable()\n ], WebSocketDiagramServer);\n return WebSocketDiagramServer;\n}(diagram_server_1.DiagramServer));\nexports.WebSocketDiagramServer = WebSocketDiagramServer;\n//# sourceMappingURL=websocket.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/model-source/websocket.js\n// module id = 275\n// module chunks = 0","\"use strict\";\n/*\n * Copyright (C) 2017 TypeFox and others.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction rgb(red, green, blue) {\n return {\n red: red,\n green: green,\n blue: blue\n };\n}\nexports.rgb = rgb;\nfunction toSVG(c) {\n return 'rgb(' + c.red + ',' + c.green + ',' + c.blue + ')';\n}\nexports.toSVG = toSVG;\nvar ColorMap = /** @class */ (function () {\n function ColorMap(stops) {\n this.stops = stops;\n }\n ColorMap.prototype.getColor = function (t) {\n t = Math.max(0, Math.min(0.99999999, t));\n var i = Math.floor(t * this.stops.length);\n return this.stops[i];\n };\n return ColorMap;\n}());\nexports.ColorMap = ColorMap;\n//# sourceMappingURL=color.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/lib/utils/color.js\n// module id = 276\n// module chunks = 0","function createElement(tagName) {\n return document.createElement(tagName);\n}\nfunction createElementNS(namespaceURI, qualifiedName) {\n return document.createElementNS(namespaceURI, qualifiedName);\n}\nfunction createTextNode(text) {\n return document.createTextNode(text);\n}\nfunction createComment(text) {\n return document.createComment(text);\n}\nfunction insertBefore(parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\nfunction removeChild(node, child) {\n node.removeChild(child);\n}\nfunction appendChild(node, child) {\n node.appendChild(child);\n}\nfunction parentNode(node) {\n return node.parentNode;\n}\nfunction nextSibling(node) {\n return node.nextSibling;\n}\nfunction tagName(elm) {\n return elm.tagName;\n}\nfunction setTextContent(node, text) {\n node.textContent = text;\n}\nfunction getTextContent(node) {\n return node.textContent;\n}\nfunction isElement(node) {\n return node.nodeType === 1;\n}\nfunction isText(node) {\n return node.nodeType === 3;\n}\nfunction isComment(node) {\n return node.nodeType === 8;\n}\nexport var htmlDomApi = {\n createElement: createElement,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n getTextContent: getTextContent,\n isElement: isElement,\n isText: isText,\n isComment: isComment,\n};\nexport default htmlDomApi;\n//# sourceMappingURL=htmldomapi.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/htmldomapi.js\n// module id = 277\n// module chunks = 0","import { h } from './h';\nfunction copyToThunk(vnode, thunk) {\n thunk.elm = vnode.elm;\n vnode.data.fn = thunk.data.fn;\n vnode.data.args = thunk.data.args;\n thunk.data = vnode.data;\n thunk.children = vnode.children;\n thunk.text = vnode.text;\n thunk.elm = vnode.elm;\n}\nfunction init(thunk) {\n var cur = thunk.data;\n var vnode = cur.fn.apply(undefined, cur.args);\n copyToThunk(vnode, thunk);\n}\nfunction prepatch(oldVnode, thunk) {\n var i, old = oldVnode.data, cur = thunk.data;\n var oldArgs = old.args, args = cur.args;\n if (old.fn !== cur.fn || oldArgs.length !== args.length) {\n copyToThunk(cur.fn.apply(undefined, args), thunk);\n return;\n }\n for (i = 0; i < args.length; ++i) {\n if (oldArgs[i] !== args[i]) {\n copyToThunk(cur.fn.apply(undefined, args), thunk);\n return;\n }\n }\n copyToThunk(oldVnode, thunk);\n}\nexport var thunk = function thunk(sel, key, fn, args) {\n if (args === undefined) {\n args = fn;\n fn = key;\n key = undefined;\n }\n return h(sel, {\n key: key,\n hook: { init: init, prepatch: prepatch },\n fn: fn,\n args: args\n });\n};\nexport default thunk;\n//# sourceMappingURL=thunk.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/es/thunk.js\n// module id = 278\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\nvar xmlNS = 'http://www.w3.org/XML/1998/namespace';\nvar colonChar = 58;\nvar xChar = 120;\nfunction updateAttrs(oldVnode, vnode) {\n var key, elm = vnode.elm, oldAttrs = oldVnode.data.attrs, attrs = vnode.data.attrs;\n if (!oldAttrs && !attrs)\n return;\n if (oldAttrs === attrs)\n return;\n oldAttrs = oldAttrs || {};\n attrs = attrs || {};\n // update modified attributes, add new attributes\n for (key in attrs) {\n var cur = attrs[key];\n var old = oldAttrs[key];\n if (old !== cur) {\n if (cur === true) {\n elm.setAttribute(key, \"\");\n }\n else if (cur === false) {\n elm.removeAttribute(key);\n }\n else {\n if (key.charCodeAt(0) !== xChar) {\n elm.setAttribute(key, cur);\n }\n else if (key.charCodeAt(3) === colonChar) {\n // Assume xml namespace\n elm.setAttributeNS(xmlNS, key, cur);\n }\n else if (key.charCodeAt(5) === colonChar) {\n // Assume xlink namespace\n elm.setAttributeNS(xlinkNS, key, cur);\n }\n else {\n elm.setAttribute(key, cur);\n }\n }\n }\n }\n // remove removed attributes\n // use `in` operator since the previous `for` iteration uses it (.i.e. add even attributes with undefined value)\n // the other option is to remove all attributes with value == undefined\n for (key in oldAttrs) {\n if (!(key in attrs)) {\n elm.removeAttribute(key);\n }\n }\n}\nexports.attributesModule = { create: updateAttrs, update: updateAttrs };\nexports.default = exports.attributesModule;\n//# sourceMappingURL=attributes.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/modules/attributes.js\n// module id = 279\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction updateClass(oldVnode, vnode) {\n var cur, name, elm = vnode.elm, oldClass = oldVnode.data.class, klass = vnode.data.class;\n if (!oldClass && !klass)\n return;\n if (oldClass === klass)\n return;\n oldClass = oldClass || {};\n klass = klass || {};\n for (name in oldClass) {\n if (!klass[name]) {\n elm.classList.remove(name);\n }\n }\n for (name in klass) {\n cur = klass[name];\n if (cur !== oldClass[name]) {\n elm.classList[cur ? 'add' : 'remove'](name);\n }\n }\n}\nexports.classModule = { create: updateClass, update: updateClass };\nexports.default = exports.classModule;\n//# sourceMappingURL=class.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/modules/class.js\n// module id = 280\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction invokeHandler(handler, vnode, event) {\n if (typeof handler === \"function\") {\n // call function handler\n handler.call(vnode, event, vnode);\n }\n else if (typeof handler === \"object\") {\n // call handler with arguments\n if (typeof handler[0] === \"function\") {\n // special case for single argument for performance\n if (handler.length === 2) {\n handler[0].call(vnode, handler[1], event, vnode);\n }\n else {\n var args = handler.slice(1);\n args.push(event);\n args.push(vnode);\n handler[0].apply(vnode, args);\n }\n }\n else {\n // call multiple handlers\n for (var i = 0; i < handler.length; i++) {\n invokeHandler(handler[i]);\n }\n }\n }\n}\nfunction handleEvent(event, vnode) {\n var name = event.type, on = vnode.data.on;\n // call event handler(s) if exists\n if (on && on[name]) {\n invokeHandler(on[name], vnode, event);\n }\n}\nfunction createListener() {\n return function handler(event) {\n handleEvent(event, handler.vnode);\n };\n}\nfunction updateEventListeners(oldVnode, vnode) {\n var oldOn = oldVnode.data.on, oldListener = oldVnode.listener, oldElm = oldVnode.elm, on = vnode && vnode.data.on, elm = (vnode && vnode.elm), name;\n // optimization for reused immutable handlers\n if (oldOn === on) {\n return;\n }\n // remove existing listeners which no longer used\n if (oldOn && oldListener) {\n // if element changed or deleted we remove all existing listeners unconditionally\n if (!on) {\n for (name in oldOn) {\n // remove listener if element was changed or existing listeners removed\n oldElm.removeEventListener(name, oldListener, false);\n }\n }\n else {\n for (name in oldOn) {\n // remove listener if existing listener removed\n if (!on[name]) {\n oldElm.removeEventListener(name, oldListener, false);\n }\n }\n }\n }\n // add new listeners which has not already attached\n if (on) {\n // reuse existing listener or create new\n var listener = vnode.listener = oldVnode.listener || createListener();\n // update vnode for listener\n listener.vnode = vnode;\n // if element changed or added we add all needed listeners unconditionally\n if (!oldOn) {\n for (name in on) {\n // add listener if element was changed or new listeners added\n elm.addEventListener(name, listener, false);\n }\n }\n else {\n for (name in on) {\n // add listener if new listener added\n if (!oldOn[name]) {\n elm.addEventListener(name, listener, false);\n }\n }\n }\n }\n}\nexports.eventListenersModule = {\n create: updateEventListeners,\n update: updateEventListeners,\n destroy: updateEventListeners\n};\nexports.default = exports.eventListenersModule;\n//# sourceMappingURL=eventlisteners.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/modules/eventlisteners.js\n// module id = 281\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction updateProps(oldVnode, vnode) {\n var key, cur, old, elm = vnode.elm, oldProps = oldVnode.data.props, props = vnode.data.props;\n if (!oldProps && !props)\n return;\n if (oldProps === props)\n return;\n oldProps = oldProps || {};\n props = props || {};\n for (key in oldProps) {\n if (!props[key]) {\n delete elm[key];\n }\n }\n for (key in props) {\n cur = props[key];\n old = oldProps[key];\n if (old !== cur && (key !== 'value' || elm[key] !== cur)) {\n elm[key] = cur;\n }\n }\n}\nexports.propsModule = { create: updateProps, update: updateProps };\nexports.default = exports.propsModule;\n//# sourceMappingURL=props.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/modules/props.js\n// module id = 282\n// module chunks = 0","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar raf = (typeof window !== 'undefined' && window.requestAnimationFrame) || setTimeout;\nvar nextFrame = function (fn) { raf(function () { raf(fn); }); };\nfunction setNextFrame(obj, prop, val) {\n nextFrame(function () { obj[prop] = val; });\n}\nfunction updateStyle(oldVnode, vnode) {\n var cur, name, elm = vnode.elm, oldStyle = oldVnode.data.style, style = vnode.data.style;\n if (!oldStyle && !style)\n return;\n if (oldStyle === style)\n return;\n oldStyle = oldStyle || {};\n style = style || {};\n var oldHasDel = 'delayed' in oldStyle;\n for (name in oldStyle) {\n if (!style[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.removeProperty(name);\n }\n else {\n elm.style[name] = '';\n }\n }\n }\n for (name in style) {\n cur = style[name];\n if (name === 'delayed' && style.delayed) {\n for (var name2 in style.delayed) {\n cur = style.delayed[name2];\n if (!oldHasDel || cur !== oldStyle.delayed[name2]) {\n setNextFrame(elm.style, name2, cur);\n }\n }\n }\n else if (name !== 'remove' && cur !== oldStyle[name]) {\n if (name[0] === '-' && name[1] === '-') {\n elm.style.setProperty(name, cur);\n }\n else {\n elm.style[name] = cur;\n }\n }\n }\n}\nfunction applyDestroyStyle(vnode) {\n var style, name, elm = vnode.elm, s = vnode.data.style;\n if (!s || !(style = s.destroy))\n return;\n for (name in style) {\n elm.style[name] = style[name];\n }\n}\nfunction applyRemoveStyle(vnode, rm) {\n var s = vnode.data.style;\n if (!s || !s.remove) {\n rm();\n return;\n }\n var name, elm = vnode.elm, i = 0, compStyle, style = s.remove, amount = 0, applied = [];\n for (name in style) {\n applied.push(name);\n elm.style[name] = style[name];\n }\n compStyle = getComputedStyle(elm);\n var props = compStyle['transition-property'].split(', ');\n for (; i < props.length; ++i) {\n if (applied.indexOf(props[i]) !== -1)\n amount++;\n }\n elm.addEventListener('transitionend', function (ev) {\n if (ev.target === elm)\n --amount;\n if (amount === 0)\n rm();\n });\n}\nexports.styleModule = {\n create: updateStyle,\n update: updateStyle,\n destroy: applyDestroyStyle,\n remove: applyRemoveStyle\n};\nexports.default = exports.styleModule;\n//# sourceMappingURL=style.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/sprotty/~/snabbdom/modules/style.js\n// module id = 283\n// module chunks = 0","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Action } from 'sprotty/lib';\n\n/**\n * Action used to execute container creation tools.\n *\n * @sbegaudeau\n */\nexport class ExecuteContainerCreationToolAction implements Action {\n\n /**\n * The kind of the action.\n */\n public static readonly KIND = 'executeContainerCreationTool';\n\n /**\n * The type of the action.\n */\n public static readonly TYPE = 'ContainerCreationDescriptionImpl';\n\n /**\n * The kind of the action.\n */\n public readonly kind = ExecuteContainerCreationToolAction.KIND;\n\n /**\n * The name of the container creation tool to execute.\n */\n public readonly toolName: string;\n\n /**\n * The constructor.\n * @param toolName The name of the tool to execute\n */\n constructor(toolName: string) {\n this.toolName = toolName;\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/execute-container-creation-tool-action.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action } from 'sprotty/lib';\r\n\r\n/**\r\n * Action used to execute node creation tools.\r\n *\r\n * @gcoutable\r\n */\r\nexport class ExecuteNodeCreationToolAction implements Action {\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public static readonly KIND = 'executeNodeCreationTool';\r\n\r\n /**\r\n * The type of the action.\r\n */\r\n public static readonly TYPE = 'NodeCreationDescriptionImpl';\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public readonly kind = ExecuteNodeCreationToolAction.KIND;\r\n\r\n /**\r\n * The name of the node creation tool to execute.\r\n */\r\n public readonly toolName: string;\r\n\r\n /**\r\n * The constructor.\r\n * @param toolName The name of the tool to execute\r\n */\r\n constructor(toolName: string) {\r\n this.toolName = toolName;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/execute-node-creation-tool-action.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Action } from 'sprotty/lib';\n\n/**\n * Action used to generic tools.\n *\n * @sbegaudeau\n */\nexport class ExecuteToolAction implements Action {\n\n /**\n * The kind of the action.\n */\n public static readonly KIND = 'executeTool';\n\n /**\n * The type of the action.\n */\n public static readonly TYPE = 'ToolDescriptionImpl';\n\n /**\n * The kind of the action.\n */\n public readonly kind = ExecuteToolAction.KIND;\n\n /**\n * The name of the tool to execute.\n */\n public readonly toolName: string;\n\n /**\n * The constructor.\n * @param toolName The name of the tool to execute\n */\n constructor(toolName: string) {\n this.toolName = toolName;\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/execute-tool-action.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Action } from 'sprotty/lib';\n\n/**\n * Action used to retrieve the layers of the diagram.\n *\n * @gcoutable\n */\nexport class RequestLayersAction implements Action {\n\n /**\n * The kind of the action.\n */\n public static readonly KIND = 'requestLayers';\n\n /**\n * The kind of the action.\n */\n public readonly kind = RequestLayersAction.KIND;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/request-layers-action.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Action } from 'sprotty/lib';\n\n/**\n * Action used to retrieve the tools of the diagram.\n *\n * @gcoutable\n */\nexport class RequestToolsAction implements Action {\n\n /**\n * The kind of the action.\n */\n public static readonly KIND = 'requestTools';\n\n /**\n * The kind of the action.\n */\n public readonly kind = RequestToolsAction.KIND;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/request-tools-action.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action } from 'sprotty/lib';\r\n\r\nimport { Layer } from '../types/layer';\r\n\r\n/**\r\n * Action used to set the layers of the diagram.\r\n *\r\n * @gcoutable\r\n */\r\nexport class SetLayersAction implements Action {\r\n /**\r\n * The kind of the action.\r\n */\r\n public static readonly KIND = 'setLayers';\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public readonly kind = SetLayersAction.KIND;\r\n\r\n /**\r\n * The layers of the diagram.\r\n */\r\n public readonly layers: [ Layer ];\r\n\r\n /**\r\n * The constructor.\r\n * @param layers The layers of the diagram\r\n */\r\n constructor(layers: [ Layer ]) {\r\n this.layers = layers;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/set-layers-action.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action } from 'sprotty/lib';\r\n\r\nimport { Tool } from '../types/tool';\r\n\r\n/**\r\n * Action used to set the tools of the diagram.\r\n *\r\n * @gcoutable\r\n */\r\nexport class SetToolsAction implements Action {\r\n /**\r\n * The kind of the action.\r\n */\r\n public static readonly KIND = 'setTools';\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public readonly kind = SetToolsAction.KIND;\r\n\r\n /**\r\n * The tools of the diagram.\r\n */\r\n public readonly tools: [ Tool ];\r\n\r\n /**\r\n * The constructor.\r\n * @param tools The tools of the diagram\r\n */\r\n constructor(tools: [ Tool ]) {\r\n this.tools = tools;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/set-tools-action.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action } from 'sprotty/lib';\r\n\r\n/**\r\n * Action used to toggle a layer.\r\n *\r\n * @author gcoutable\r\n */\r\nexport class ToggleLayerAction implements Action {\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public static readonly KIND: string = 'toggleLayer';\r\n\r\n /**\r\n * The kind of the action.\r\n */\r\n public readonly kind: string = ToggleLayerAction.KIND;\r\n\r\n /**\r\n * The name of the layer.\r\n */\r\n public readonly layerName: string;\r\n\r\n /**\r\n * The new state of the layer.\r\n */\r\n public readonly newState: boolean;\r\n\r\n /**\r\n * The constructor.\r\n * @param layerName The name of the layer\r\n * @param newState The new state of the layer\r\n */\r\n constructor(layerName: string, newState: boolean) {\r\n this.layerName = layerName;\r\n this.newState = newState;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/actions/toogle-layers-action.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Action, ActionHandlerRegistry, IActionHandler, ICommand, RequestModelAction, TYPES, WebSocketDiagramServer } from 'sprotty/lib';\nimport { RequestLayersAction } from '../actions/request-layers-action';\nimport { RequestToolsAction } from '../actions/request-tools-action';\nimport { SetLayersAction } from '../actions/set-layers-action';\nimport { SetToolsAction } from '../actions/set-tools-action';\nimport { createContainer } from '../di.config';\nimport { SiriusWebSocketDiagramServer } from '../sirius-websocket-diagram-server';\nimport { Tool } from '../types/tool';\nimport { canHandleTool, cleanDOMElement, createDOMElementForLayers, createDOMElementsForTools } from './tools-utils';\n\nrequire('reconnecting-websocket');\n\nexport interface ISiriusAction<T extends Action> extends IActionHandler {\n handle(action: T): ICommand | Action | void;\n}\n\n/* tslint:disable */\nexport class SetLayersActionHandler implements ISiriusAction<SetLayersAction> {\n private readonly diagramServer: WebSocketDiagramServer;\n\n constructor(diagramServer: WebSocketDiagramServer) {\n this.diagramServer = diagramServer;\n }\n\n /**\n * Handles the given action received by the server.\n * @param action The action\n */\n public handle(action: SetLayersAction): void {\n this.handleSetLayersAction(action);\n }\n\n /**\n * Handles the set layers action.\n * @param action The action\n */\n private handleSetLayersAction(action: SetLayersAction) {\n cleanDOMElement(document.getElementById('layers-palette'));\n createDOMElementForLayers(this.diagramServer, action.layers);\n }\n}\n/* tslint:enable */\n\n/* tslint:disable */\nexport class SetToolsActionHandler implements ISiriusAction<SetToolsAction> {\n\n private readonly diagramServer: WebSocketDiagramServer;\n\n constructor(diagramServer: WebSocketDiagramServer) {\n this.diagramServer = diagramServer;\n }\n\n /**\n * Handles the given action received by the server.\n * @param action The action\n */\n handle(action: SetToolsAction): void {\n this.handleSetToolsAction(action);\n }\n\n /**\n * Handles the set tools action.\n * @param action The action\n */\n private handleSetToolsAction(action: SetToolsAction) {\n const tools: Array<Tool> = action.tools.filter((tool: Tool) => {\n return canHandleTool(tool);\n });\n cleanDOMElement(document.getElementById('tools-palette'));\n createDOMElementsForTools(this.diagramServer, tools);\n }\n}\n/* tslint:enable */\n\n/**\n * Creates the Sirius diagram and connect it to the server.\n *\n * @sbegaudeau\n */\nexport function initializeSiriusDiagram() {\n const websocket = new WebSocket('ws://' + window.location.host + '/diagrams/api');\n const container = createContainer('sprotty');\n\n const diagramServer = container.get<SiriusWebSocketDiagramServer>(TYPES.ModelSource);\n diagramServer.listen(websocket);\n\n const actionHandlerRegistry = container.get<ActionHandlerRegistry>(TYPES.ActionHandlerRegistry);\n actionHandlerRegistry.register(SetLayersAction.KIND, new SetLayersActionHandler(diagramServer));\n actionHandlerRegistry.register(SetToolsAction.KIND, new SetToolsActionHandler(diagramServer));\n\n // Connect to the diagram server\n websocket.addEventListener('open', event => {\n const url = new URL(window.location.href);\n const parameters = new URLSearchParams(url.search);\n const project: string = parameters.get('project') || '';\n const aird: string = parameters.get('aird') || '';\n const representationName: string = parameters.get('representationName') || '';\n\n diagramServer.clientId = `__PROJECT__${project}__AIRD__${aird}__REPRESENTATION__${representationName}__CLIENT_ID__${Math.random()}`;\n diagramServer.handle(new RequestToolsAction());\n diagramServer.handle(new RequestLayersAction());\n diagramServer.handle(new RequestModelAction({\n project,\n aird,\n representationName\n }));\n });\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/standalone.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action, WebSocketDiagramServer } from 'sprotty/lib';\r\nimport { ExecuteContainerCreationToolAction } from '../actions/execute-container-creation-tool-action';\r\nimport { ExecuteNodeCreationToolAction } from '../actions/execute-node-creation-tool-action';\r\nimport { ExecuteToolAction } from '../actions/execute-tool-action';\r\nimport { ToggleLayerAction } from '../actions/toogle-layers-action';\r\nimport { Layer } from '../types/layer';\r\nimport { Tool } from '../types/tool';\r\n\r\n\r\n/**\r\n * Indicates if the given tool is supported by the diagram.\r\n * @param tool The tool\r\n * @returns true if the tool is supported, false otherwise\r\n */\r\nexport function canHandleTool(tool: Tool): boolean {\r\n let canHandle = false;\r\n switch (tool.toolType) {\r\n case ExecuteNodeCreationToolAction.TYPE:\r\n canHandle = true;\r\n break;\r\n case ExecuteContainerCreationToolAction.TYPE:\r\n canHandle = true;\r\n break;\r\n case ExecuteToolAction.TYPE:\r\n canHandle = true;\r\n break;\r\n default:\r\n canHandle = false;\r\n break;\r\n }\r\n return canHandle;\r\n}\r\n\r\n/**\r\n * Creates the action for the given tool.\r\n * @param tool The tool\r\n * @returns The action used to run the given tool or null if the tool is not supported\r\n */\r\nfunction createToolAction(tool: Tool): Action | null {\r\n let action: Action | null = null;\r\n switch (tool.toolType) {\r\n case ExecuteNodeCreationToolAction.TYPE:\r\n action = new ExecuteNodeCreationToolAction(tool.id);\r\n break;\r\n case ExecuteContainerCreationToolAction.TYPE:\r\n action = new ExecuteContainerCreationToolAction(tool.id);\r\n break;\r\n case ExecuteToolAction.TYPE:\r\n action = new ExecuteToolAction(tool.id);\r\n default:\r\n break;\r\n }\r\n return action;\r\n}\r\n\r\n/**\r\n * Creates the action for the given layer.\r\n * @param layer The layer\r\n * @returns The action used to toggle the given layer\r\n */\r\nfunction createLayerAction(layer: Layer, newState: boolean): Action {\r\n return new ToggleLayerAction(layer.id, newState);\r\n}\r\n\r\n/**\r\n * Creates the DOM elements used to execute the given tools.\r\n * @param diagramServer The diagram server\r\n * @param tools The tools to display\r\n */\r\nexport function createDOMElementsForTools(diagramServer: WebSocketDiagramServer, tools: Array<Tool>): void {\r\n const toolPaletteElement = document.getElementById('tools-palette');\r\n if (toolPaletteElement !== null) {\r\n tools.forEach(tool => {\r\n const button = document.createElement('button');\r\n button.setAttribute('type', 'button');\r\n button.setAttribute('class', 'tool');\r\n const toolLabel = tool.name || tool.id;\r\n\r\n const image = document.createElement('img');\r\n\r\n // FIXME Change the computation of the tool image source\r\n let imageSource = 'assets/ToolDescription.gif';\r\n if (toolLabel.includes('Woman')) {\r\n imageSource = 'assets/woman.svg';\r\n } else if (toolLabel.includes('Man')) {\r\n imageSource = 'assets/man.svg';\r\n } else if (toolLabel.includes('New customer')) {\r\n imageSource = 'assets/LaneSet.png';\r\n } else if (toolLabel.includes('Start')) {\r\n imageSource = 'assets/start.svg';\r\n } else if (toolLabel.includes('Select')) {\r\n imageSource = 'assets/Task.svg';\r\n } else if (toolLabel.includes('Order')) {\r\n imageSource = 'assets/Task.svg';\r\n } else if (toolLabel.includes('Wait')) {\r\n imageSource = 'assets/event-based-gateway.svg';\r\n } else if (toolLabel.includes('Eat')) {\r\n imageSource = 'assets/end.svg';\r\n }\r\n\r\n image.setAttribute('src', imageSource);\r\n button.appendChild(image);\r\n\r\n const label = document.createElement('label');\r\n label.textContent = toolLabel;\r\n button.appendChild(label);\r\n\r\n button.addEventListener('click', (event) => {\r\n const toolAction = createToolAction(tool);\r\n if (toolAction !== null) {\r\n diagramServer.handle(toolAction);\r\n }\r\n });\r\n toolPaletteElement.appendChild(button);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Creates the DOM elements used to activate or deactivate layers.\r\n * @param diagramServer The diagram server\r\n * @param layers The layers to display\r\n */\r\nexport function createDOMElementForLayers(diagramServer: WebSocketDiagramServer, layers: Array<Layer>): void {\r\n const layerPaletteElement = document.getElementById('layers-palette');\r\n if (layerPaletteElement != null) {\r\n layers.forEach((layer: Layer) => {\r\n const layerId = `layer-${layer.id}`;\r\n const layerContainerElement = document.createElement('div');\r\n layerContainerElement.setAttribute('class', 'layer');\r\n\r\n const layerLabelElement = document.createElement('label');\r\n layerLabelElement.setAttribute('for', layerId);\r\n layerLabelElement.textContent = `${layer.name || layer.id} `;\r\n layerContainerElement.appendChild(layerLabelElement);\r\n\r\n const layerCheckboxElement = document.createElement('input');\r\n layerCheckboxElement.setAttribute('type', 'checkbox');\r\n if (layer.isActive) {\r\n layerCheckboxElement.setAttribute('checked', 'checked');\r\n }\r\n layerCheckboxElement.setAttribute('id', layerId);\r\n layerCheckboxElement.addEventListener('click', event => {\r\n const eventTarget = event.target as HTMLInputElement;\r\n const layerAction = createLayerAction(layer, eventTarget.checked);\r\n if (layerAction !== null) {\r\n diagramServer.handle(layerAction);\r\n }\r\n });\r\n layerContainerElement.appendChild(layerCheckboxElement);\r\n layerPaletteElement.appendChild(layerContainerElement);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Cleans the content of the HTMLElement.\r\n * @param element The HTMLElement\r\n */\r\nexport function cleanDOMElement(element: HTMLElement | null): void {\r\n if (element !== null) {\r\n for (const index = 0; index < element.children.length;) {\r\n const item = element.children.item(index);\r\n element.removeChild(item);\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/tools-utils.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport { Container, ContainerModule } from 'inversify';\n\nimport {\n boundsModule,\n defaultModule,\n exportModule,\n hoverModule,\n moveModule,\n selectModule,\n undoRedoModule,\n viewportModule,\n overrideViewerOptions,\n ConsoleLogger,\n LogLevel,\n ViewRegistry,\n TYPES,\n HtmlRootView,\n PreRenderedView,\n SCompartmentView,\n SGraphView,\n SLabelView\n} from 'sprotty/lib';\n\nimport { SiriusEdgeView } from './views/sirius-edge-view';\nimport { SiriusFreeFormFlatContainerNodeView } from './views/sirius-free-form-flat-container-node-view';\nimport { SiriusListFlatContainerNodeView } from './views/sirius-list-flat-container-node-view';\nimport { SiriusSquareBorderNodeView } from './views/sirius-square-border-node-view';\nimport { SiriusSvgBorderNodeView } from './views/sirius-svg-border-node-view';\nimport { SiriusLabelView } from './views/sirius-label-view';\nimport { SiriusSquareNodeView } from './views/sirius-square-node-view';\nimport { SiriusSVGNodeView } from './views/sirius-svg-node-view';\n\nimport { SiriusGraphFactory } from './sirius-graph-factory';\n\nimport { siriusPopupModelFactory } from './popup';\nimport { SiriusWebSocketDiagramServer } from './sirius-websocket-diagram-server';\n\nconst siriusContainerModule = new ContainerModule((bind, unbind, isBound, rebind) => {\n rebind(TYPES.ILogger)\n .to(ConsoleLogger)\n .inSingletonScope();\n rebind(TYPES.LogLevel).toConstantValue(LogLevel.log);\n rebind(TYPES.IModelFactory)\n .to(SiriusGraphFactory)\n .inSingletonScope();\n bind(TYPES.PopupModelFactory).toConstantValue(siriusPopupModelFactory);\n});\n\n/**\n * Create the dependency injection container.\n * @param containerId The identifier of the container\n */\nexport const createContainer = (containerId: string) => {\n const container = new Container();\n container.load(\n defaultModule,\n selectModule,\n moveModule,\n boundsModule,\n undoRedoModule,\n viewportModule,\n hoverModule,\n exportModule,\n siriusContainerModule\n );\n\n container\n .bind(TYPES.ModelSource)\n .to(SiriusWebSocketDiagramServer)\n .inSingletonScope();\n\n overrideViewerOptions(container, {\n needsClientLayout: true,\n needsServerLayout: true,\n baseDiv: containerId,\n hiddenDiv: containerId + '-hidden'\n });\n\n const viewRegistry = container.get<ViewRegistry>(TYPES.ViewRegistry);\n viewRegistry.register('graph', SGraphView);\n\n viewRegistry.register('node:square', SiriusSquareNodeView);\n viewRegistry.register('node:svg', SiriusSVGNodeView);\n viewRegistry.register('port:square', SiriusSquareBorderNodeView);\n viewRegistry.register('port:image', SiriusSvgBorderNodeView);\n viewRegistry.register('node:freeformflatcontainer', SiriusFreeFormFlatContainerNodeView);\n viewRegistry.register('node:listflatcontainer', SiriusListFlatContainerNodeView);\n viewRegistry.register('comp:listflatcontainer_label', SCompartmentView);\n viewRegistry.register('comp:listflatcontainer_body', SCompartmentView);\n\n viewRegistry.register('edge:straight', SiriusEdgeView);\n\n viewRegistry.register('label:inside-left', SiriusLabelView);\n viewRegistry.register('label:inside-center', SiriusLabelView);\n viewRegistry.register('label:inside-right', SiriusLabelView);\n viewRegistry.register('label:outside-left', SiriusLabelView);\n viewRegistry.register('label:outside-center', SiriusLabelView);\n viewRegistry.register('label:outside-right', SiriusLabelView);\n\n viewRegistry.register('label:text', SLabelView);\n viewRegistry.register('comp:main', SCompartmentView);\n viewRegistry.register('html', HtmlRootView);\n viewRegistry.register('pre-rendered', PreRenderedView);\n\n return container;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/di.config.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n SModelElementSchema,\n SModelRootSchema,\n RequestPopupModelAction,\n PreRenderedElementSchema\n} from 'sprotty/lib';\n\n/**\n * Creates a popup for the given action.\n * @param request The request popup model action\n * @param element The model element schema\n */\nexport const siriusPopupModelFactory = (request: RequestPopupModelAction, element?: SModelElementSchema): SModelRootSchema | undefined => {\n if (element !== undefined && element.type === 'node:svg') {\n return {\n type: 'html',\n id: 'popup',\n children: [\n <PreRenderedElementSchema> {\n type: 'pre-rendered',\n id: 'popup-title',\n code: `<div class=\"popup-title\">Class ${element.id === 'node0' ? 'Foo' : 'Bar'}</div>`\n },\n <PreRenderedElementSchema> {\n type: 'pre-rendered',\n id: 'popup-body',\n code: '<div class=\"popup-body\">Hello World</div>'\n }\n ]\n };\n }\n return undefined;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/popup.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n getBasicType,\n HtmlRoot,\n HtmlRootSchema,\n SChildElement,\n SGraphFactory,\n SModelElementSchema,\n SModelRootSchema,\n SModelRoot,\n SParentElement,\n PreRenderedElement,\n PreRenderedElementSchema\n} from 'sprotty/lib';\n\n/**\n * The Sirius graph factory used to create all the graph elements.\n *\n * @sbegaudeau\n */\nexport class SiriusGraphFactory extends SGraphFactory {\n /**\n * Creates the element with the given schema.\n * @param schema The model element schema\n * @param parent The parent element\n */\n public createElement(schema: SModelElementSchema, parent?: SParentElement): SChildElement {\n /*if (this.isNodeSchema(schema)) {\n return this.initializeChild(new SiriusNode(), schema, parent)\n } else */\n if (this.isPreRenderedSchema(schema)) {\n return this.initializeChild(new PreRenderedElement(), schema, parent);\n } else {\n return super.createElement(schema, parent);\n }\n }\n\n /**\n * Creates the root for the given schema.\n * @param schema The schema\n */\n public createRoot(schema: SModelRootSchema): SModelRoot {\n if (this.isHtmlRootSchema(schema)) {\n return this.initializeRoot(new HtmlRoot(), schema);\n } else {\n return super.createRoot(schema);\n }\n }\n\n /**\n * Indicates if the given schema is an HTML root schema.\n * @param schema The model root schema\n */\n public isHtmlRootSchema(schema: SModelRootSchema): schema is HtmlRootSchema {\n return getBasicType(schema) === 'html';\n }\n\n /**\n * Indicates if the given schema is a pre-rendered schema.\n * @param schema The model element schema\n */\n public isPreRenderedSchema(schema: SModelElementSchema): schema is PreRenderedElementSchema {\n return getBasicType(schema) === 'pre-rendered';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/sirius-graph-factory.ts","/*******************************************************************************\r\n * Copyright (c) 2018 Obeo.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors:\r\n * Obeo - initial API and implementation\r\n *******************************************************************************/\r\nimport { Action, ActionHandlerRegistry, WebSocketDiagramServer } from 'sprotty/lib';\r\n\r\n\r\n/**\r\n * The Sirius WebSocket diagram server used to communicate with the remote server.\r\n *\r\n * @gcoutable\r\n */\r\nexport class SiriusWebSocketDiagramServer extends WebSocketDiagramServer {\r\n\r\n /**\r\n * Initializes the given action handler registry.\r\n * @param registry The action handler registry\r\n */\r\n public initialize(registry: ActionHandlerRegistry): void {\r\n super.initialize(registry);\r\n }\r\n\r\n /**\r\n * Handles the given action received by the server.\r\n * @param action The action\r\n */\r\n public handle(action: Action) {\r\n switch (action.kind) {\r\n default:\r\n super.handle(action);\r\n break;\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sirius-websocket-diagram-server.ts","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n PolylineEdgeView,\n RenderingContext,\n SEdge,\n Point,\n toDegrees,\n angle\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display Sirius edges.\n *\n * @sbegaudeau\n */\nexport class SiriusEdgeView extends PolylineEdgeView {\n /**\n * Renders the line of the edge with a specific style configured.\n * @param edge The edge\n * @param segments The segments\n * @param context The context\n */\n protected renderLine(edge: SEdge, segments: Point[], context: RenderingContext): VNode {\n const style: string = (edge as any ).style;\n\n const firstPoint = segments[0];\n let path = `M ${firstPoint.x},${firstPoint.y}`;\n for (let i = 1; i < segments.length; i++) {\n const p = segments[i];\n path += ` L ${p.x},${p.y}`;\n }\n return <path class-sprotty-edge={true} d={path} style={JSON.parse(style)}/>;\n }\n\n /**\n * Renders additionals element for the given Edge. This method is overriden in order to let\n * us add decorators to the beggining or the end of the edge (to create an arrow for example).\n * @param edge The edge\n * @param segments The segments\n * @param context The context\n */\n protected renderAdditionals(edge: SEdge, segments: Point[], context: RenderingContext): VNode[] {\n const style: string = (edge as any).style;\n const styleObject = JSON.parse(style);\n styleObject.fill = styleObject.stroke;\n\n const p1 = segments[segments.length - 2];\n const p2 = segments[segments.length - 1];\n return [\n <path class-edge={true}\n class-arrow={true} d=\"M 0,0 L 6,-3 L 6,3 Z\"\n transform={`rotate(${toDegrees(angle(p2, p1))} ${p2.x} ${p2.y}) translate(${p2.x} ${p2.y})`}\n style={styleObject} />\n ];\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-edge-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SNode,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display free form containers with a flat style.\n *\n * @sbegaudeau\n */\nexport class SiriusFreeFormFlatContainerNodeView extends RectangularNodeView {\n /**\n * Renders the given node in the context.\n * @param node The node\n * @param context The context\n */\n public render(node: SNode, context: RenderingContext): VNode {\n const style: string = (node as any ).style;\n\n return (\n <g>\n <rect class-selected={node.selected}\n class-mouseover={node.hoverFeedback}\n x={0} y={0}\n rx=\"5\" ry=\"5\"\n width={Math.max(0, node.bounds.width)}\n height={Math.max(0, node.bounds.height)}\n style={JSON.parse(style)} />\n {context.renderChildren(node)}\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-free-form-flat-container-node-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SLabel,\n SLabelView,\n getSubType,\n setAttr\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display labels.\n *\n * @sbegaudeau\n */\nexport class SiriusLabelView extends SLabelView {\n /**\n * Renders the given label in the context.\n * @param label The label\n * @param context The context\n */\n public render(label: SLabel, context: RenderingContext): VNode {\n const style: string = (label as any).style;\n const styleObject = JSON.parse(style);\n\n const vnode = <text class-sprotty-label={true} style={styleObject}>{label.text}</text>;\n const subType = getSubType(label);\n if (subType) {\n setAttr(vnode, 'class', subType);\n }\n return vnode;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-label-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SNode,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display list containers with a flat style.\n *\n * @sbegaudeau\n */\nexport class SiriusListFlatContainerNodeView extends RectangularNodeView {\n /**\n * Renders the given node in the context.\n * @param node The node\n * @param context The context\n */\n public render(node: SNode, context: RenderingContext): VNode {\n const style: string = (node as any ).style;\n\n return (\n <g>\n <rect class-selected={node.selected}\n class-mouseover={node.hoverFeedback}\n x={0} y={0}\n rx=\"5\" ry=\"5\"\n width={Math.max(0, node.bounds.width)}\n height={Math.max(0, node.bounds.height)}\n style={JSON.parse(style)} />\n {context.renderChildren(node)}\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-list-flat-container-node-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SPort,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display a border node nodes with a square style.\n *\n * @hmarchadour\n */\nexport class SiriusSquareBorderNodeView extends RectangularNodeView {\n /**\n * Renders the given port in the context.\n * @param port The port\n * @param context The context\n */\n public render(port: SPort, context: RenderingContext): VNode {\n const style: string = (port as any ).style;\n return (\n <g>\n <rect\n class-selected={port.selected}\n class-mouseover={port.hoverFeedback}\n x={0} y ={0}\n width={Math.max(5, port.bounds.width)}\n height={Math.max(5, port.bounds.height)}\n style={JSON.parse(style)} />\n {context.renderChildren(port)}\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-square-border-node-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SNode,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display nodes with a square style.\n *\n * @sbegaudeau\n */\nexport class SiriusSquareNodeView extends RectangularNodeView {\n /**\n * Renders the given node in the context.\n * @param node The node\n * @param context The context\n */\n public render(node: SNode, context: RenderingContext): VNode {\n const style: string = (node as any ).style;\n\n return (\n <g>\n <rect class-selected={node.selected}\n class-mouseover={node.hoverFeedback}\n x={0} y={0}\n rx=\"5\" ry=\"5\"\n width={Math.max(0, node.bounds.width)}\n height={Math.max(0, node.bounds.height)}\n style={JSON.parse(style)} />\n {context.renderChildren(node)}\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-square-node-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SPort,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display an SVG border node.\n *\n * @hmarchadour\n */\nexport class SiriusSvgBorderNodeView extends RectangularNodeView {\n /**\n * Renders the given port in the context.\n * @param port The port\n * @param context The context\n */\n public render(port: SPort, context: RenderingContext): VNode {\n const url = (port as any).url;\n return (\n <g>\n <image x=\"0\" y=\"0\" height=\"10\" width=\"10\" href={url}/>\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-svg-border-node-view.tsx","/*******************************************************************************\n * Copyright (c) 2018 Obeo.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors:\n * Obeo - initial API and implementation\n *******************************************************************************/\nimport {\n RenderingContext,\n SNode,\n RectangularNodeView\n} from 'sprotty/lib';\n\nimport { VNode } from 'snabbdom/vnode';\nimport * as snabbdom from 'snabbdom-jsx';\n\nconst JSX = {createElement: snabbdom.svg};\n\n/**\n * The view used to display nodes with an SVG image.\n */\nexport class SiriusSVGNodeView extends RectangularNodeView {\n /**\n * Renders the given node in the context.\n * @param node The node\n * @param context The context\n */\n public render(node: SNode, context: RenderingContext): VNode {\n const svgData = (node as any).svgData;\n return (\n <g>\n <image x=\"0\" y=\"0\" href={`data:image/svg+xml;utf,${svgData}`} width={30} height={30}></image>\n {context.renderChildren(node)}\n </g>\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/views/sirius-svg-node-view.tsx","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"keygen\": true,\n \"link\": true,\n \"menuitem\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/void-elements/index.js\n// module id = 306\n// module chunks = 0","module.exports = function() {\r\n\tthrow new Error(\"define cannot be used indirect\");\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-define.js\n// module id = 307\n// module chunks = 0","/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/amd-options.js\n// module id = 308\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 309\n// module chunks = 0"],"sourceRoot":""}