diff --git a/common/lib/common-utils/src/bufferBrowser.ts b/common/lib/common-utils/src/bufferBrowser.ts index bb759e0e9273..6ee04cb61ab5 100644 --- a/common/lib/common-utils/src/bufferBrowser.ts +++ b/common/lib/common-utils/src/bufferBrowser.ts @@ -48,6 +48,11 @@ export const bufferToString = (blob: ArrayBufferLike, encoding: string): string * Minimal implementation of Buffer for our usages in the browser environment. */ export class IsoBuffer extends Uint8Array { + // Need to have ctor for it to be in proto chain for instanceof check in from() method to work + public constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) { + super(buffer, byteOffset, length); + } + /** * Convert the buffer to a string. * Only supports encoding the whole string (unlike the Node Buffer equivalent) @@ -66,6 +71,8 @@ export class IsoBuffer extends Uint8Array { static from(value, encodingOrOffset?, length?): IsoBuffer { if (typeof value === "string") { return IsoBuffer.fromString(value, encodingOrOffset as string | undefined); + } else if (value instanceof IsoBuffer) { + return value; } else if (value instanceof ArrayBuffer) { return IsoBuffer.fromArrayBuffer(value, encodingOrOffset as number | undefined, length); } else { diff --git a/common/lib/common-utils/src/test/jest/buffer.spec.ts b/common/lib/common-utils/src/test/jest/buffer.spec.ts index e91b12a9b48b..906830f73443 100644 --- a/common/lib/common-utils/src/test/jest/buffer.spec.ts +++ b/common/lib/common-utils/src/test/jest/buffer.spec.ts @@ -171,4 +171,16 @@ describe("Buffer isomorphism", () => { expect(nodeStringUtf8).toEqual("hellothere"); expect(browserStringUtf8).toEqual("hellothere"); }); + + test("bufferToString working with IsoBuffer",() => { + const test = "aGVsbG90aGVyZQ=="; + + const buffer = BufferBrowser.IsoBuffer.from(test, "base64"); + expect(BufferBrowser.bufferToString(buffer, "base64")).toEqual(test); + expect(BufferBrowser.bufferToString(buffer, "utf-8")).toEqual("hellothere"); + + const buffer2 = BufferNode.IsoBuffer.from(test, "base64"); + expect(BufferNode.bufferToString(buffer2, "base64")).toEqual(test); + expect(BufferNode.bufferToString(buffer2, "utf-8")).toEqual("hellothere"); + }); }); diff --git a/experimental/dds/tree/README.md b/experimental/dds/tree/README.md index 3ef1bb6d1b96..a99328e7b482 100644 --- a/experimental/dds/tree/README.md +++ b/experimental/dds/tree/README.md @@ -18,15 +18,6 @@ The order of the edits is: 1. All acknowledged edits, in the order agreed upon by Fluid's consensus. 2. All local edits (not acknowledged by Fluid yet), in the order they were created. -## Maintenance - -This package is currently being maintained in an internal Microsoft repository as well as in the Fluid Framework repository. -As a result, there are some inconsistencies in development tooling configuration between this package and a typical Fluid package. -The main difference is that code is formatted using `prettier`. -Correct formatting can still be produced using the `lint:fix` script and is enforced with the `lint` script. -For the most part, this means contributers can ignore these style differences. -However, this dual maintenance should be kept in mind when considering changes to tooling configuration. - # Getting Started ## Tree Abstraction diff --git a/experimental/dds/tree/api-extractor.json b/experimental/dds/tree/api-extractor.json index 53162e1ba236..faa719cd0cf2 100644 --- a/experimental/dds/tree/api-extractor.json +++ b/experimental/dds/tree/api-extractor.json @@ -1,4 +1,15 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "@fluidframework/build-common/api-extractor-common.json" + "extends": "@fluidframework/build-common/api-extractor-common.json", + /** + * For now, retain explicit report generation in the package folder. + */ + "apiReport": { + "enabled": true, + "reportFolder": "", + "reportTempFolder": "/_api-extractor-temp" + } } diff --git a/experimental/dds/tree/src/Common.ts b/experimental/dds/tree/src/Common.ts index 3ff82542af01..42976b5564b6 100644 --- a/experimental/dds/tree/src/Common.ts +++ b/experimental/dds/tree/src/Common.ts @@ -25,7 +25,6 @@ class SharedTreeAssertionError extends Error { public constructor(message: string) { super(message); this.name = 'Assertion error'; - Error.captureStackTrace?.(this); } } @@ -81,6 +80,32 @@ export function assertArrayOfOne(array: readonly T[], message = 'array value return array[0]; } +/** + * Redefine a property to have the given value. This is simply a type-safe wrapper around + * `Object.defineProperty`, but it is useful for caching getters on first read. + * @example + * ``` + * // `randomOnce()` will return a random number, but always the same random number. + * { + * get randomOnce(): number { + * return memoizeGetter(this, 'randomOnce', random(100)) + * } + * } + * ``` + * @param object - the object containing the property + * @param propName - the name of the property on the object + * @param value - the value of the property + */ +export function memoizeGetter(object: T, propName: K, value: T[K]): T[K] { + Object.defineProperty(object, propName, { + value, + enumerable: true, + configurable: true, + }); + + return value; +} + /** * Iterate through two iterables and return true if they yield equivalent elements in the same order. * @param iterableA - the first iterable to compare diff --git a/experimental/dds/tree/src/EditLog.ts b/experimental/dds/tree/src/EditLog.ts index ab64c56ec68f..bcbb5940449c 100644 --- a/experimental/dds/tree/src/EditLog.ts +++ b/experimental/dds/tree/src/EditLog.ts @@ -52,6 +52,14 @@ interface LocalOrderedEdit { type OrderedEdit = SequencedOrderedEdit | LocalOrderedEdit; +/** + * Event fired when an edit is added to an `EditLog`. + * @param edit - The edit that was added to the log + * @param isLocal - true iff this edit was generated locally + * @internal + */ +export type EditAddedHandler = (edit: Edit, isLocal: boolean) => void; + /** * The edit history log for SharedTree. * Contains only completed edits (no in-progress edits). @@ -61,10 +69,10 @@ type OrderedEdit = SequencedOrderedEdit | LocalOrderedEdit; */ export class EditLog implements OrderedEditSet { private localEditSequence = 0; - private version = 0; private readonly sequencedEdits: Edit[] = []; private readonly localEdits: Edit[] = []; private readonly allEdits: Map = new Map(); + private readonly editAddedHandlers: EditAddedHandler[] = []; /** * Construct an `EditLog` with the given sequenced `Edits` @@ -77,10 +85,10 @@ export class EditLog implements OrderedEditSet { } /** - * Get a value which can be compared with === to determine if a log has not changed. + * Registers a handler for when an edit is added to this `EditLog`. */ - public versionIdentifier(): unknown { - return this.version; + public registerEditAddedHandler(handler: EditAddedHandler): void { + this.editAddedHandlers.push(handler); } /** @@ -153,7 +161,6 @@ export class EditLog implements OrderedEditSet { * If the id of the supplied edit matches a local edit already present in the log, the local edit will be replaced. */ public addSequencedEdit(edit: Edit): void { - this.version++; const sequencedEdit: SequencedOrderedEdit = { edit, index: this.sequencedEdits.length, isLocal: false }; this.sequencedEdits.push(edit); const existingEdit = this.allEdits.get(edit.id); @@ -166,6 +173,7 @@ export class EditLog implements OrderedEditSet { } this.allEdits.set(edit.id, sequencedEdit); + this.emitAdd(edit, false); } /** @@ -173,11 +181,17 @@ export class EditLog implements OrderedEditSet { * Duplicate edits are ignored. */ public addLocalEdit(edit: Edit): void { - this.version++; assert(!this.allEdits.has(edit.id)); const localEdit: LocalOrderedEdit = { edit, localSequence: this.localEditSequence++, isLocal: true }; this.localEdits.push(edit); this.allEdits.set(edit.id, localEdit); + this.emitAdd(edit, true); + } + + private emitAdd(editAdded: Edit, isLocal: boolean): void { + for (const handler of this.editAddedHandlers) { + handler(editAdded, isLocal); + } } /** diff --git a/experimental/dds/tree/src/LogViewer.ts b/experimental/dds/tree/src/LogViewer.ts index a49524a19064..c7b394e2824b 100644 --- a/experimental/dds/tree/src/LogViewer.ts +++ b/experimental/dds/tree/src/LogViewer.ts @@ -4,10 +4,11 @@ */ import BTree from 'sorted-btree'; +import { ITelemetryBaseLogger } from '@fluidframework/common-definitions'; import { assert, fail, noop } from './Common'; import { EditLog } from './EditLog'; import { Snapshot } from './Snapshot'; -import { EditResult } from './PersistedTypes'; +import { Edit, EditResult } from './PersistedTypes'; import { EditId } from './Identifiers'; import { Transaction } from './Transaction'; import { initialTree } from './InitialTree'; @@ -17,7 +18,6 @@ import { initialTree } from './InitialTree'; * Note that edits may be applied multiple times (and with different results due to concurrent edits), * and might not be applied when added. * This callback cannot be used to simply log each edit as it comes it to see its status. - * @internal */ export type EditResultCallback = (editResult: EditResult, editId: EditId) => void; @@ -64,16 +64,11 @@ export class CachingLogViewer implements LogViewer { private readonly sequencedSnapshotCache = new BTree(); /** - * The value of log.versionIdentifier when lastHeadSnapshot was cached. - */ - private lastVersionIdentifier: unknown = undefined; - - /** - * A cached Snapshot for Head (the newest revision) of log when it was at lastVersionIdentifier. + * A cached Snapshot for Head (the newest revision) of `log`. It is undefined when not computed or invalidated by a change in the log. * This cache is important as the Head revision is frequently viewed, and just using the sequencedSnapshotCache * would not cache processing of local edits in this case. */ - private lastHeadSnapshot: Snapshot; + private lastHeadSnapshot?: Snapshot; /** * Called whenever an edit is processed. @@ -87,6 +82,18 @@ export class CachingLogViewer implements LogViewer { */ private readonly expensiveValidation: boolean; + /** + * Telemetry logger, used to log events such as edit application rejection. + */ + private readonly logger: ITelemetryBaseLogger; + + /** + * The ordered list of edits that originated from this client that have never been applied (by this log viewer) in a sequenced state. + * This means these edits may be local or sequenced, and may have been applied (possibly multiple times) while still local. + * Used to log telemetry about the result of edit application. Edits are removed when first applied after being sequenced. + */ + private readonly unappliedSelfEdits: EditId[] = []; + /** * Create a new LogViewer * @param log - the edit log which snapshots will be based on. @@ -97,22 +104,29 @@ export class CachingLogViewer implements LogViewer { log: EditLog, baseTree = initialTree, expensiveValidation = false, - processEditResult: EditResultCallback = noop + processEditResult: EditResultCallback = noop, + logger: ITelemetryBaseLogger ) { this.log = log; const initialSnapshot = Snapshot.fromTree(baseTree); - this.lastHeadSnapshot = initialSnapshot; this.sequencedSnapshotCache.set(0, initialSnapshot); this.processEditResult = processEditResult ?? noop; this.expensiveValidation = expensiveValidation; + this.logger = logger; + this.log.registerEditAddedHandler(this.handleEditAdded.bind(this)); + } + + private handleEditAdded(edit: Edit, isLocal: boolean): void { + this.lastHeadSnapshot = undefined; // Invalidate HEAD snapshot cache. + if (isLocal) { + this.unappliedSelfEdits.push(edit.id); + } } public getSnapshot(revision: number): Snapshot { // Per the documentation for this method, the returned snapshot should be the output of the edit at the largest index <= `revision`. - if (revision >= this.log.length) { - if (this.lastVersionIdentifier === this.log.versionIdentifier()) { - return this.lastHeadSnapshot; - } + if (revision >= this.log.length && this.lastHeadSnapshot) { + return this.lastHeadSnapshot; } const [startRevision, startSnapshot] = @@ -130,15 +144,33 @@ export class CachingLogViewer implements LogViewer { // This avoids having to invalidate cache entries when concurrent edits cause local revision // numbers to change when acknowledged. if (i < this.log.numberOfSequencedEdits) { - // Revision is the result of the edit being applied. - this.sequencedSnapshotCache.set(/* revision: */ i + 1, currentSnapshot); + const revision = i + 1; // Revision is the result of the edit being applied. + this.sequencedSnapshotCache.set(revision, currentSnapshot); + + // This is the first time this sequenced edit has been processed by this LogViewer. If it was a local edit, log telemetry + // in the event that it was invalid or malformed. + if (this.unappliedSelfEdits.length > 0) { + if (edit.id === this.unappliedSelfEdits[0]) { + if (editingResult.result !== EditResult.Applied) { + this.logger.send({ + category: 'generic', + eventName: + editingResult.result === EditResult.Malformed + ? 'MalformedSharedTreeEdit' + : 'InvalidSharedTreeEdit', + }); + } + this.unappliedSelfEdits.shift(); + } else if (this.expensiveValidation) { + assert(this.unappliedSelfEdits.indexOf(edit.id) < 0, 'Local edits processed out of order.'); + } + } } this.processEditResult(editingResult.result, edit.id); } if (revision >= this.log.length) { - this.lastVersionIdentifier = this.log.versionIdentifier(); this.lastHeadSnapshot = currentSnapshot; } diff --git a/experimental/dds/tree/src/PersistedTypes.ts b/experimental/dds/tree/src/PersistedTypes.ts index e4efc3922101..57953d1b986c 100644 --- a/experimental/dds/tree/src/PersistedTypes.ts +++ b/experimental/dds/tree/src/PersistedTypes.ts @@ -224,7 +224,7 @@ export enum ConstraintEffect { * Values are the content of the trait specified by the key. * @public */ -export interface TraitMap { +export interface TraitMap { readonly [key: string]: TreeNodeSequence; } @@ -232,7 +232,7 @@ export interface TraitMap { * A sequence of Nodes that make up a trait under a Node * @public */ -export type TreeNodeSequence = readonly TChild[]; +export type TreeNodeSequence = readonly TChild[]; /** * Valid if (transitively) all DetachedSequenceId are used according to their rules (use here counts as a destination), diff --git a/experimental/dds/tree/src/SharedTree.ts b/experimental/dds/tree/src/SharedTree.ts index 64ef095b84d5..4d3ab4035211 100644 --- a/experimental/dds/tree/src/SharedTree.ts +++ b/experimental/dds/tree/src/SharedTree.ts @@ -9,6 +9,8 @@ import { IFluidDataStoreRuntime, IChannelStorageService } from '@fluidframework/ import { AttachState } from '@fluidframework/container-definitions'; import { SharedObject } from '@fluidframework/shared-object-base'; import { IFluidSerializer } from '@fluidframework/core-interfaces'; +import { ITelemetryLogger } from '@fluidframework/common-definitions'; +import { ChildLogger } from '@fluidframework/telemetry-utils'; import { assert, fail } from './Common'; import { EditLog, OrderedEditSet } from './EditLog'; import { @@ -207,6 +209,8 @@ export class SharedTree extends SharedObject { */ public payloadCache: Map = new Map(); + protected readonly logger: ITelemetryLogger; + /** * Iff true, the snapshots passed to setKnownRevision will be asserted to be correct. */ @@ -221,7 +225,8 @@ export class SharedTree extends SharedObject { public constructor(runtime: IFluidDataStoreRuntime, id: string, expensiveValidation = false) { super(id, runtime, SharedTreeFactory.Attributes); this.expensiveValidation = expensiveValidation; - const { editLog, logViewer } = loadSummary(initialSummary, this.expensiveValidation); + this.logger = ChildLogger.create(super.logger, 'SharedTree'); + const { editLog, logViewer } = loadSummary(initialSummary, this.expensiveValidation, this.logger); this.editLog = editLog; this.logViewer = logViewer; } @@ -330,7 +335,7 @@ export class SharedTree extends SharedObject { * @internal */ public loadSummary(summary: SharedTreeSummary): void { - const { editLog, logViewer } = loadSummary(summary, this.expensiveValidation); + const { editLog, logViewer } = loadSummary(summary, this.expensiveValidation, this.logger); this.editLog = editLog; this.logViewer = logViewer; } @@ -412,13 +417,14 @@ export class SharedTree extends SharedObject { function loadSummary( summary: SharedTreeSummary, - expensiveValidation: boolean + expensiveValidation: boolean, + logger: ITelemetryLogger ): { editLog: EditLog; logViewer: LogViewer } { const { version, sequencedEdits, currentTree } = summary; assert(version === formatVersion); const currentView = Snapshot.fromTree(currentTree); const editLog = new EditLog(sequencedEdits); - const logViewer = new CachingLogViewer(editLog, initialTree, expensiveValidation); + const logViewer = new CachingLogViewer(editLog, initialTree, expensiveValidation, undefined, logger); // TODO:#47830: Store the associated revision on the snapshot. // The current view should only be stored in the cache if the revision it's associated with is known. diff --git a/experimental/dds/tree/src/Snapshot.ts b/experimental/dds/tree/src/Snapshot.ts index fa8a5669adfa..49406e8424aa 100644 --- a/experimental/dds/tree/src/Snapshot.ts +++ b/experimental/dds/tree/src/Snapshot.ts @@ -5,8 +5,9 @@ import { assert, assertNotUndefined, compareIterables, fail } from './Common'; import { NodeId, TraitLabel } from './Identifiers'; -import { ChangeNode, TraitMap, TraitLocation, StableRange, Side, StablePlace, NodeData } from './PersistedTypes'; +import { ChangeNode, TraitLocation, StableRange, Side, StablePlace, NodeData } from './PersistedTypes'; import { compareTraits } from './EditUtilities'; +import { compareSnapshotNodes, getTreeNodeFromSnapshotNode } from './SnapshotUtilities'; import { createForest, Delta, Forest as GenericForest } from './Forest'; /** @@ -111,32 +112,9 @@ export class Snapshot { this.forest = forest; } - private getChangeNodeFromSnapshotNode(node: SnapshotNode): ChangeNode { - /** Given the traits of a SnapshotNode, return the corresponding traits on a Node */ - const makeTraits = (traits: ReadonlyMap): TraitMap => { - const entries = [...traits.entries()]; - const traitMap = {}; - Object.assign( - traitMap, - ...entries.map(([label, trait]) => ({ - [label]: trait.map((nodeId) => this.getChangeNodeFromSnapshotNode(this.getSnapshotNode(nodeId))), - })) - ); - - return traitMap; - }; - - return { - identifier: node.identifier, - ...(node.payload ? { payload: node.payload } : {}), - definition: node.definition, - traits: makeTraits(node.traits), - }; - } - /** Return a tree of JSON-compatible `ChangeNode`s representing the current state of this `Snapshot` */ public getChangeNodeTree(): ChangeNode { - return this.getChangeNodeFromSnapshotNode(this.forest.get(this.root)); + return getTreeNodeFromSnapshotNode(this, this.root) as ChangeNode; } /** @@ -157,7 +135,7 @@ export class Snapshot { * @returns a `ChangeNode` derived from the `SnapshotNode` in this snapshot with the given `NodeId`. */ public getChangeNode(id: NodeId): ChangeNode { - return this.getChangeNodeFromSnapshotNode(this.forest.get(id)); + return getTreeNodeFromSnapshotNode(this, id) as ChangeNode; } /** @@ -483,48 +461,6 @@ export class Snapshot { } } -function compareSnapshotNodes(nodeA: SnapshotNode, nodeB: SnapshotNode): boolean { - if (nodeA === nodeB) { - return true; - } - - if (nodeA.identifier !== nodeB.identifier) { - return false; - } - - if (nodeA.definition !== nodeB.definition) { - return false; - } - - if (nodeA.payload?.base64 !== nodeB.payload?.base64) { - return false; - } - - if (nodeA.traits.size !== nodeB.traits.size) { - return false; - } - - for (const traitA of nodeA.traits) { - const [traitLabelA, nodeSequenceA] = traitA; - const nodeSequenceB = nodeB.traits.get(traitLabelA); - if (!nodeSequenceB) { - return false; - } - - if (nodeSequenceA.length !== nodeSequenceB.length) { - return false; - } - - for (let i = 0; i < nodeSequenceA.length; i++) { - if (nodeSequenceA[i] !== nodeSequenceB[i]) { - return false; - } - } - } - - return true; -} - function getIndex(side: Side, index: TraitNodeIndex): PlaceIndex { // eslint-disable-next-line @typescript-eslint/restrict-plus-operands return (side + index) as PlaceIndex; diff --git a/experimental/dds/tree/src/SnapshotUtilities.ts b/experimental/dds/tree/src/SnapshotUtilities.ts new file mode 100644 index 000000000000..b3f86f2f524f --- /dev/null +++ b/experimental/dds/tree/src/SnapshotUtilities.ts @@ -0,0 +1,120 @@ +/*! + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. + */ + +import { memoizeGetter } from './Common'; +import { NodeId, TraitLabel } from './Identifiers'; +import { TraitMap, TreeNode, TreeNodeSequence } from './PersistedTypes'; +import { Snapshot, SnapshotNode } from './Snapshot'; + +/** Returns true if two `SnapshotNodes` are equivalent */ +export function compareSnapshotNodes(nodeA: SnapshotNode, nodeB: SnapshotNode): boolean { + if (nodeA === nodeB) { + return true; + } + + if (nodeA.identifier !== nodeB.identifier) { + return false; + } + + if (nodeA.definition !== nodeB.definition) { + return false; + } + + if (nodeA.payload?.base64 !== nodeB.payload?.base64) { + return false; + } + + if (nodeA.traits.size !== nodeB.traits.size) { + return false; + } + + for (const traitA of nodeA.traits) { + const [traitLabelA, nodeSequenceA] = traitA; + const nodeSequenceB = nodeB.traits.get(traitLabelA); + if (!nodeSequenceB) { + return false; + } + + if (nodeSequenceA.length !== nodeSequenceB.length) { + return false; + } + + for (let i = 0; i < nodeSequenceA.length; i++) { + if (nodeSequenceA[i] !== nodeSequenceB[i]) { + return false; + } + } + } + + return true; +} + +/** + * Converts a node in a snapshot to an equivalent `ChangeNode`. + * @param snapshot - the snapshot in which the node exists + * @param nodeId - the id of the node in the snapshot + * @param lazyTraits - whether or not traits should be populated lazily. + * If lazy, the subtrees under each trait will not be read until the trait is first accessed. + */ +export function getTreeNodeFromSnapshotNode( + snapshot: Snapshot, + nodeId: NodeId, + lazyTraits = false +): TreeNode { + const node = snapshot.getSnapshotNode(nodeId); + const nodeData = { + definition: node.definition, + identifier: node.identifier, + ...(node.payload ? { payload: node.payload } : {}), + }; + + if (lazyTraits) { + return { + ...nodeData, + get traits() { + return memoizeGetter(this, 'traits', makeTraits(snapshot, node.traits, lazyTraits)); + }, + }; + } + + return { + ...nodeData, + traits: makeTraits(snapshot, node.traits, lazyTraits), + }; +} + +/** Given the traits of a SnapshotNode, return the corresponding traits on a Node */ +function makeTraits( + snapshot: Snapshot, + traits: ReadonlyMap, + lazyTraits = false +): TraitMap { + const traitMap = {}; + for (const [label, trait] of traits.entries()) { + if (lazyTraits) { + Object.defineProperty(traitMap, label, { + get() { + const treeNodeTrait = trait.map((nodeId) => + getTreeNodeFromSnapshotNode(snapshot, nodeId, lazyTraits) + ); + return memoizeGetter( + this as TraitMap, + label, + (treeNodeTrait as unknown) as TreeNodeSequence + ); + }, + configurable: true, + enumerable: true, + }); + } else { + Object.defineProperty(traitMap, label, { + value: trait.map((nodeId) => getTreeNodeFromSnapshotNode(snapshot, nodeId, lazyTraits)), + enumerable: true, + }); + } + } + + return traitMap; +} diff --git a/experimental/dds/tree/src/TreeNodeHandle.ts b/experimental/dds/tree/src/TreeNodeHandle.ts new file mode 100644 index 000000000000..e88532f7691f --- /dev/null +++ b/experimental/dds/tree/src/TreeNodeHandle.ts @@ -0,0 +1,65 @@ +/*! + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. + */ + +import { Definition, NodeId } from './Identifiers'; +import { Payload, TraitMap, TreeNode, TreeNodeSequence } from './PersistedTypes'; +import { Snapshot } from './Snapshot'; +import { memoizeGetter } from './Common'; +import { getTreeNodeFromSnapshotNode } from './SnapshotUtilities'; + +/** + * A handle to a `TreeNode` that exists within a specific `Snapshot`. This type provides a convenient + * API for traversing trees of nodes in a Snapshot and is not designed to provide maximum runtime + * performance; if performance is a concern, consider using the Snapshot and SnapshotNode APIs directly. + * @public + */ +export class TreeNodeHandle implements TreeNode { + private readonly snapshot: Snapshot; + private readonly nodeId: NodeId; + + /** Construct a handle which references the node with the given id in the given `Snapshot` */ + public constructor(snapshot: Snapshot, nodeId: NodeId) { + this.snapshot = snapshot; + this.nodeId = nodeId; + } + + public get payload(): Payload | undefined { + return this.node.payload; + } + + public get definition(): Definition { + return this.node.definition; + } + + public get identifier(): NodeId { + return this.node.identifier; + } + + public get traits(): TraitMap { + // Construct a new trait map that wraps each node in each trait in a handle + const traitMap: TraitMap = {}; + const { snapshot } = this; + for (const [label, trait] of Object.entries(this.node.traits)) { + Object.defineProperty(traitMap, label, { + get() { + const handleTrait = trait.map((node) => new TreeNodeHandle(snapshot, node.identifier)); + return memoizeGetter( + this as TraitMap, + label, + (handleTrait as unknown) as TreeNodeSequence + ); + }, + configurable: true, + enumerable: true, + }); + } + + return memoizeGetter(this, 'traits', traitMap); + } + + public get node(): TreeNode { + return memoizeGetter(this, 'node', getTreeNodeFromSnapshotNode(this.snapshot, this.nodeId, true)); + } +} diff --git a/experimental/dds/tree/src/index.ts b/experimental/dds/tree/src/index.ts index 05675bfb0341..bf5c6167f33b 100644 --- a/experimental/dds/tree/src/index.ts +++ b/experimental/dds/tree/src/index.ts @@ -19,8 +19,9 @@ export { initialTree } from './InitialTree'; export { BlobId, SharedTree, SharedTreeEvent, SharedTreeEditor } from './SharedTree'; +export { TreeNodeHandle } from './TreeNodeHandle'; export { Delta } from './Forest'; -export { SharedTreeSummary, SharedTreeSummarizer } from './Summary'; +export { SharedTreeSummary, SharedTreeSummarizer, fullHistorySummarizer, noHistorySummarizer } from './Summary'; export { sharedTreeAssertionErrorType } from './Common'; export * from './PersistedTypes'; export * from './Factory'; diff --git a/experimental/dds/tree/src/test/Common.tests.ts b/experimental/dds/tree/src/test/Common.tests.ts new file mode 100644 index 000000000000..e658f182cd4e --- /dev/null +++ b/experimental/dds/tree/src/test/Common.tests.ts @@ -0,0 +1,27 @@ +/*! + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. + */ + +import { expect } from 'chai'; +import { memoizeGetter } from '../Common'; + +describe('SharedTree common', () => { + it('function memoizeGetter() correctly memoizes', () => { + let x = 0; + const getAndInc = () => x++; + const obj = { + get getUncached(): number { + return getAndInc(); + }, + get getCached(): number { + return memoizeGetter(this, 'getCached', getAndInc()); + }, + }; + + expect(obj.getUncached).to.equal(0); + expect(obj.getUncached).to.equal(1); + expect(obj.getCached).to.equal(2); + expect(obj.getCached).to.equal(2); // Cached, no increment + }); +}); diff --git a/experimental/dds/tree/src/test/LogViewer.tests.ts b/experimental/dds/tree/src/test/LogViewer.tests.ts index a0219518c166..e9c662bef165 100644 --- a/experimental/dds/tree/src/test/LogViewer.tests.ts +++ b/experimental/dds/tree/src/test/LogViewer.tests.ts @@ -4,13 +4,15 @@ */ import { expect } from 'chai'; +import { ITelemetryBaseEvent, ITelemetryBaseLogger } from '@fluidframework/common-definitions'; import { EditLog } from '../EditLog'; -import { ChangeNode, Insert, StablePlace } from '../PersistedTypes'; +import { ChangeNode, Edit, Insert, StablePlace } from '../PersistedTypes'; import { newEdit } from '../EditUtilities'; -import { CachingLogViewer, LogViewer } from '../LogViewer'; +import { CachingLogViewer, EditResultCallback, LogViewer } from '../LogViewer'; import { Snapshot } from '../Snapshot'; import { initialTree } from '../InitialTree'; import { Transaction } from '../Transaction'; +import { noop } from '../Common'; import { initialSnapshot, left, @@ -148,38 +150,50 @@ function runLogViewerCorrectnessTests(viewerCreator: (log: EditLog, baseTree?: C } describe('CachingLogViewer', () => { - runLogViewerCorrectnessTests((log: EditLog, baseTree?: ChangeNode) => { - return new CachingLogViewer(log, baseTree, /* expensiveValidation */ true); - }); + function getMockLogger(callback?: (event: ITelemetryBaseEvent) => void): ITelemetryBaseLogger { + return { send: callback ?? noop }; + } + + function getCachingLogViewer( + log: EditLog, + baseTree?: ChangeNode, + editCallback?: EditResultCallback, + logger?: ITelemetryBaseLogger + ): CachingLogViewer { + return new CachingLogViewer( + log, + baseTree, + /* expensiveValidation */ true, + editCallback, + logger ?? getMockLogger() + ); + } + + runLogViewerCorrectnessTests(getCachingLogViewer); const log = getSimpleLog(); it('detects non-integer revisions when setting snapshots', () => { - const viewer = new CachingLogViewer(log, initialSimpleTree, /* expensiveValidation */ true); + const viewer = getCachingLogViewer(log, initialSimpleTree); expect(() => viewer.setKnownRevision(2.4, simpleTreeSnapshot)).to.throw('revision must be an integer'); }); it('detects out-of-bounds revisions when setting snapshots', () => { - const viewer = new CachingLogViewer(log, initialSimpleTree, /* expensiveValidation */ true); + const viewer = getCachingLogViewer(log, initialSimpleTree); expect(() => viewer.setKnownRevision(1000, simpleTreeSnapshot)).to.throw( 'revision must correspond to the result of a SequencedEdit' ); }); it('detects invalid snapshots', () => { - const viewer = new CachingLogViewer(log, initialSimpleTree, /* expensiveValidation */ true); + const viewer = getCachingLogViewer(log, initialSimpleTree); // Set the head revision snapshot to something different than what is produced by applying edits sequentially. expect(() => viewer.setKnownRevision(2, initialSnapshot)).to.throw('setKnownRevision passed invalid snapshot'); }); it('reuses cached snapshots for sequenced edits', () => { let editsProcessed = 0; - const viewer = new CachingLogViewer( - log, - initialSimpleTree, - /* expensiveValidation */ true, - () => editsProcessed++ - ); + const viewer = getCachingLogViewer(log, initialSimpleTree, () => editsProcessed++); // Force all snapshots to be generated. viewer.getSnapshot(Number.POSITIVE_INFINITY); @@ -194,12 +208,7 @@ describe('CachingLogViewer', () => { it('caches snapshots for local revisions only for the HEAD revision', () => { const logWithLocalEdits = getSimpleLogWithLocalEdits(); let editsProcessed = 0; - const viewer = new CachingLogViewer( - logWithLocalEdits, - initialSimpleTree, - /* expensiveValidation */ true, - () => editsProcessed++ - ); + const viewer = getCachingLogViewer(logWithLocalEdits, initialSimpleTree, () => editsProcessed++); viewer.getSnapshot(Number.POSITIVE_INFINITY); expect(editsProcessed).to.equal(logWithLocalEdits.length); @@ -215,4 +224,61 @@ describe('CachingLogViewer', () => { viewer.getSnapshot(logWithLocalEdits.numberOfSequencedEdits + 1); expect(editsProcessed).to.equal(1); }); + + describe('Telemetry', () => { + function getViewer(): { log: EditLog; viewer: CachingLogViewer; events: ITelemetryBaseEvent[] } { + const log = getSimpleLog(); + const events: ITelemetryBaseEvent[] = []; + const viewer = new CachingLogViewer( + log, + initialSimpleTree, + /* expensiveValidation */ true, + undefined, + getMockLogger((event) => events.push(event)) + ); + return { log, viewer, events }; + } + + function addInvalidEdit(log: EditLog): Edit { + // Add a local edit that will be invalid (inserts a node at a location that doesn't exist) + const edit = newEdit( + Insert.create( + [makeEmptyNode()], + StablePlace.atEndOf({ + parent: initialTree.identifier, + label: leftTraitLabel, + }) + ) + ); + log.addLocalEdit(edit); + return edit; + } + + it('is logged for invalid locally generated edits when those edits are sequenced', () => { + const { log, events, viewer } = getViewer(); + const edit = addInvalidEdit(log); + viewer.getSnapshot(Number.POSITIVE_INFINITY); + expect(events.length).equals(0, 'Invalid local edit should not log telemetry'); + log.addSequencedEdit(edit); + viewer.getSnapshot(Number.POSITIVE_INFINITY); + expect(events.length).equals(1); + }); + + it('is only logged once upon first application for invalid locally generated edits', () => { + const { log, events, viewer } = getViewer(); + const numEdits = 10; + const localEdits = [...Array(numEdits).keys()].map(() => addInvalidEdit(log)); + viewer.getSnapshot(Number.POSITIVE_INFINITY); + expect(events.length).equals(0); + for (let i = 0; i < numEdits; i++) { + const localEdit = localEdits[i]; + log.addSequencedEdit(localEdit); + viewer.getSnapshot(Number.POSITIVE_INFINITY); + expect(events.length).equals(i + 1); + const currentEvent = events[i]; + expect(currentEvent.category).equals('generic'); + expect(currentEvent.eventName).equals('InvalidSharedTreeEdit'); + } + }); + }); }); diff --git a/experimental/dds/tree/src/test/SharedTree.tests.ts b/experimental/dds/tree/src/test/SharedTree.tests.ts index 378c3d99ac31..71154fb8cc11 100644 --- a/experimental/dds/tree/src/test/SharedTree.tests.ts +++ b/experimental/dds/tree/src/test/SharedTree.tests.ts @@ -13,6 +13,7 @@ import { deepCompareNodes, newEdit } from '../EditUtilities'; import { deserialize, noHistorySummarizer, serialize, SharedTreeSummary } from '../Summary'; import { Snapshot } from '../Snapshot'; import { initialTree } from '../InitialTree'; +import { TreeNodeHandle } from '../TreeNodeHandle'; import { makeEmptyNode, setUpTestSharedTree, @@ -23,6 +24,8 @@ import { leftTraitLocation, rightTraitLocation, simpleTestTree, + areNodesEquivalent, + rightTraitLabel, assertNoDelta, } from './utilities/TestUtilities'; import { runSharedTreeUndoRedoTestSuite } from './utilities/UndoRedoTests'; @@ -665,4 +668,35 @@ describe('SharedTree', () => { expect(delta.added).deep.equals([]); }); }); + + describe('handles', () => { + it('can reference a node', () => { + // Test that a handle can wrap a node and retrieve that node's properties + const { tree } = setUpTestSharedTree({ initialTree: simpleTestTree }); + const leftHandle = new TreeNodeHandle(tree.currentView, left.identifier); + expect(areNodesEquivalent(left, leftHandle)).to.be.true; + expect(areNodesEquivalent(right, leftHandle)).to.be.false; + }); + + it('can create handles from children', () => { + // Test that when retrieving children via the "traits" property of a handle, the + // children are also wrapped in handles + const { tree } = setUpTestSharedTree({ initialTree: simpleTestTree }); + const rootHandle = new TreeNodeHandle(tree.currentView, simpleTestTree.identifier); + expect(areNodesEquivalent(simpleTestTree, rootHandle)).to.be.true; + const leftHandle = rootHandle.traits.left[0]; + expect(areNodesEquivalent(left, leftHandle)); + expect(leftHandle instanceof TreeNodeHandle).to.be.true; + }); + + it('do not update when the current view of the tree changes', () => { + // Unlike CurrentTreeNodeHandles, SnapshotTreeNodeHandles should never change + const { tree } = setUpTestSharedTree({ initialTree: simpleTestTree }); + const leftHandle = new TreeNodeHandle(tree.currentView, left.identifier); + expect(leftHandle.traits.right).to.be.undefined; + // Move "right" under "left" + tree.editor.move(right, StablePlace.atStartOf({ parent: left.identifier, label: rightTraitLabel })); + expect(leftHandle.traits.right).to.be.undefined; + }); + }); }); diff --git a/experimental/dds/tree/src/test/Transaction.tests.ts b/experimental/dds/tree/src/test/Transaction.tests.ts index a0f52ffde1da..0dbefd11611c 100644 --- a/experimental/dds/tree/src/test/Transaction.tests.ts +++ b/experimental/dds/tree/src/test/Transaction.tests.ts @@ -27,6 +27,8 @@ import { initialSnapshot, right, rightTraitLocation, + leftTraitLabel, + rightTraitLabel, } from './utilities/TestUtilities'; describe('Transaction', () => { @@ -342,5 +344,39 @@ describe('Transaction', () => { const wrappingTrait = transaction.view.getTrait({ parent: wrappingParentId, label: wrappingTraitLabel }); expect(wrappingTrait).deep.equals([left.identifier]); }); + it('can build and insert a tree that contains detached subtrees', () => { + const transaction = new Transaction(simpleTreeSnapshot); + const leftNodeDetachedId = 0 as DetachedSequenceId; + const rightNodeDetachedId = 1 as DetachedSequenceId; + const detachedIdSubtree = 2 as DetachedSequenceId; + transaction.applyChange(Change.detach(StableRange.only(left), leftNodeDetachedId)); + transaction.applyChange(Change.detach(StableRange.only(right), rightNodeDetachedId)); + + const detachedSubtree = { + ...makeEmptyNode(), + traits: { + [leftTraitLabel]: [leftNodeDetachedId], + [rightTraitLabel]: [rightNodeDetachedId], + }, + }; + transaction.applyChange(Change.build([detachedSubtree], detachedIdSubtree)); + transaction.applyChange(Change.insert(detachedIdSubtree, StablePlace.atStartOf(leftTraitLocation))); + expect(transaction.view.getTrait(rightTraitLocation)).deep.equals([]); + expect(transaction.view.getTrait(leftTraitLocation)).deep.equals([detachedSubtree.identifier]); + const insertedSubtree = transaction.view.getChangeNode(detachedSubtree.identifier); + expect(insertedSubtree.traits).deep.equals({ + [leftTraitLabel]: [left], + [rightTraitLabel]: [right], + }); + }); + it('can build and insert a tree with the same identity as that of a detached subtree', () => { + const transaction = new Transaction(simpleTreeSnapshot); + transaction.applyChange(Change.detach(StableRange.only(left))); + const idOfDetachedNodeToInsert = 1 as DetachedSequenceId; + expect(transaction.view.getTrait(leftTraitLocation)).deep.equals([]); + transaction.applyChange(Change.build([makeEmptyNode(left.identifier)], idOfDetachedNodeToInsert)); + transaction.applyChange(Change.insert(idOfDetachedNodeToInsert, StablePlace.atStartOf(leftTraitLocation))); + expect(transaction.view.getTrait(leftTraitLocation)).deep.equals([left.identifier]); + }); }); }); diff --git a/experimental/dds/tree/src/test/utilities/TestUtilities.ts b/experimental/dds/tree/src/test/utilities/TestUtilities.ts index b89d9387d61b..56df84d6315f 100644 --- a/experimental/dds/tree/src/test/utilities/TestUtilities.ts +++ b/experimental/dds/tree/src/test/utilities/TestUtilities.ts @@ -11,7 +11,8 @@ import { } from '@fluidframework/test-runtime-utils'; import { expect } from 'chai'; import { Definition, EditId, NodeId, TraitLabel } from '../../Identifiers'; -import { ChangeNode, TraitLocation } from '../../PersistedTypes'; +import { fail } from '../../Common'; +import { ChangeNode, NodeData, TraitLocation } from '../../PersistedTypes'; import { SharedTree } from '../../SharedTree'; import { newEdit, setTrait } from '../../EditUtilities'; import { fullHistorySummarizer, SharedTreeSummarizer } from '../../Summary'; @@ -134,6 +135,29 @@ export function assertNoDelta(tree: SharedTree, editor: () => void) { }); } +/** + * Returns true if two nodes have equivalent data, otherwise false. + * Does not compare children or payloads. + * @param nodes - two or more nodes to compare + */ +export function areNodesEquivalent(...nodes: NodeData[]): boolean { + if (nodes.length < 2) { + fail('Too few nodes to compare'); + } + + for (let i = 1; i < nodes.length; i++) { + if (nodes[i].definition !== nodes[0].definition) { + return false; + } + + if (nodes[i].identifier !== nodes[0].identifier) { + return false; + } + } + + return true; +} + /** Left node of 'simpleTestTree' */ export const left: ChangeNode = makeEmptyNode(); diff --git a/experimental/dds/tree/tsconfig.json b/experimental/dds/tree/tsconfig.json index 142d6f43b57f..18c00ecc0907 100644 --- a/experimental/dds/tree/tsconfig.json +++ b/experimental/dds/tree/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@fluidframework/build-common/ts-common-config.json", "exclude": ["dist", "node_modules"], "compilerOptions": { + "composite": true, "downlevelIteration": true, "noUnusedLocals": false, "outDir": "./dist", diff --git a/lerna-package-lock.json b/lerna-package-lock.json index 3801c672eb34..281d5cd06ba6 100644 --- a/lerna-package-lock.json +++ b/lerna-package-lock.json @@ -13,18 +13,18 @@ } }, "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.13.tgz", + "integrity": "sha512-BQKE9kXkPlXHPeqissfxo0lySWJcYdEP0hdtJOH/iJfDdhOCcgtNCjftCJg3qqauB4h+lz2N6ixM++b9DN1Tcw==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-module-transforms": "^7.12.13", + "@babel/helpers": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -35,47 +35,47 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", + "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -84,50 +84,50 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.12.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", + "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==" }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -165,86 +165,49 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.13.tgz", + "integrity": "sha512-Vs/e9wv7rakKYeywsmEBSRC9KtmE7Px+YBlESekLeJOF0zbGUicGfXSNi3o+tfXSNS48U/7K9mIOOCR79Cl3+Q==", "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/highlight": "^7.12.13" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -253,60 +216,39 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.12.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", + "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==" }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", "to-fast-properties": "^2.0.0" } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -329,11 +271,11 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.13.tgz", + "integrity": "sha512-B+7nN0gIL8FZ8SvMcF+EPyB21KnCcZHQZFczCxbiNGV/O0rsrSBlWGLzmtBJ3GMjSVMIm4lpFhR+VdVBuIsUcQ==", "requires": { - "@babel/types": "^7.12.7" + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/helper-validator-identifier": { @@ -342,9 +284,9 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -354,11 +296,11 @@ } }, "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", + "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", "requires": { - "@babel/types": "^7.12.5" + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/helper-validator-identifier": { @@ -367,9 +309,9 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -379,63 +321,63 @@ } }, "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz", + "integrity": "sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA==", + "requires": { + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13", + "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13", "lodash": "^4.17.19" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", + "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -444,50 +386,50 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.12.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", + "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==" }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -502,11 +444,11 @@ } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/helper-validator-identifier": { @@ -515,9 +457,9 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -527,63 +469,63 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz", + "integrity": "sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA==" }, "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz", + "integrity": "sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" + "@babel/helper-member-expression-to-functions": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", + "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -592,50 +534,50 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.12.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", + "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==" }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -650,11 +592,11 @@ } }, "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", + "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/helper-validator-identifier": { @@ -663,9 +605,9 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -688,57 +630,57 @@ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" }, "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.13.tgz", + "integrity": "sha512-oohVzLRZ3GQEk4Cjhfs9YkJA4TdIDTObdBEZGrd6F/T0GPSnuV6l22eMcxlvcvzVIPH3VTtxbseudM1zIE+rPQ==", "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.12.13", + "@babel/types": "^7.12.13" }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", + "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", "requires": { - "@babel/types": "^7.12.11", + "@babel/types": "^7.12.13", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "requires": { - "@babel/types": "^7.12.10" + "@babel/types": "^7.12.13" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { @@ -747,50 +689,50 @@ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.12.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", + "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==" }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz", + "integrity": "sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.19" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz", + "integrity": "sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ==", "requires": { "@babel/helper-validator-identifier": "^7.12.11", "lodash": "^4.17.19", @@ -820,12 +762,12 @@ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==" }, "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz", + "integrity": "sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -845,11 +787,11 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-import-meta": { @@ -917,11 +859,11 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/polyfill": { @@ -935,9 +877,9 @@ } }, "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -1207,9 +1149,9 @@ } }, "@fluentui/keyboard-key": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz", - "integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==", + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.13.tgz", + "integrity": "sha512-HLZNtkETFUuCP76Wk/oF54+tVp6aPGzsoJRsmnkh78gloC9CGp8JK+LQUYfj9dtzcHDHq64/dAA2e4j2tzjhaQ==", "requires": { "tslib": "^1.10.0" } @@ -1248,51 +1190,51 @@ } }, "@fluidframework/agent-scheduler": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/agent-scheduler/-/agent-scheduler-0.34.0-14942.tgz", - "integrity": "sha512-zdcpH6aH462bduYhbHfIrT+WXioexd4Oc02r3/+fBQ50thKVTkSyM+R6pRuCnZ+GD4ldGi+KknhgD5t1Xi0ohA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/agent-scheduler/-/agent-scheduler-0.34.0.tgz", + "integrity": "sha512-ZLXwtCYegbSj9TAG68vzcuR/SBlv9a48AbnlgsPXXD46+r6wR1ip7TWo63vq+3YIeQZrcZ4CDkszNNbInKy0Nw==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/map": "0.34.0-14942", - "@fluidframework/register-collection": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/map": "^0.34.0", + "@fluidframework/register-collection": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "uuid": "^8.3.1" } }, "@fluidframework/aqueduct": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/aqueduct/-/aqueduct-0.34.0-14942.tgz", - "integrity": "sha512-wAmkHG9XFni83Kv140R61I7yC5aVuHqSUtskmnhg9CPmXraMgAC+ytwqpzyszVPOznY4dpdH8i41gWMN9xqCFg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/aqueduct/-/aqueduct-0.34.0.tgz", + "integrity": "sha512-kMCDlEhk4Gc7A7sJyrO51VaSl2/uivzSIC0UTR3oGALhUII2+80b3Xz27eCAWEOxkRzvFKBIdtHQanEI1+lAWw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-loader": "0.34.0-14942", - "@fluidframework/container-runtime": "0.34.0-14942", - "@fluidframework/container-runtime-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/map": "0.34.0-14942", - "@fluidframework/request-handler": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/synthesize": "0.34.0-14942", - "@fluidframework/view-interfaces": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-loader": "^0.34.0", + "@fluidframework/container-runtime": "^0.34.0", + "@fluidframework/container-runtime-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/map": "^0.34.0", + "@fluidframework/request-handler": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/synthesize": "^0.34.0", + "@fluidframework/view-interfaces": "^0.34.0", "assert": "^2.0.0", "uuid": "^8.3.1" } }, "@fluidframework/build-common": { - "version": "0.20.0-13703", - "resolved": "https://registry.npmjs.org/@fluidframework/build-common/-/build-common-0.20.0-13703.tgz", - "integrity": "sha512-YnlNOwp6+eN0L5gb2UXQQogm8Z59v+cQuUGbY87I31iTMv0N3ZY5DEHiUiQTLFgr3ccD4CsjpUOq8K1/7DO6tA==" + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@fluidframework/build-common/-/build-common-0.20.0.tgz", + "integrity": "sha512-m6Jcq7Qzj/xV97o0kV7ctC462bgqhcU0D/vjJi4Ah2gXOJ5+poVDxpXexQCnFWYKJRG3YqhH9OFMcpAX96TbgA==" }, "@fluidframework/build-tools": { "version": "0.2.14220", @@ -1404,31 +1346,31 @@ } }, "@fluidframework/container-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-0.34.0-14942.tgz", - "integrity": "sha512-cEB/tLWlGK5hSZfQG7eRbrDXJLtgelCNfp1bvkv4swz4QsDHWZ1uzfA/NEIls6PWXyNdFfwRMjK6tWCs4zfCfw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-0.34.0.tgz", + "integrity": "sha512-Szzwd1pGhjstcHUCkrmkB7LcqsW+nRlNY4TRBg5el3wfxHLiVDYncDpmbN5mRmzkJ/gdMX4CwkhKf31+FMrmhg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0" + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0" } }, "@fluidframework/container-loader": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-loader/-/container-loader-0.34.0-14942.tgz", - "integrity": "sha512-ImDpz1XkUp/OsFH+/mk+1gUr99yPrxBqMTfQP/DMcyxKLavLXLOHcakfXHhPzJ0yMEtEY9JdTLQxgIs/fKfhzg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-loader/-/container-loader-0.34.0.tgz", + "integrity": "sha512-TGkAkVKcaRpYpriA78DBnytQY0UQqsVc7ghSwsi8OieGOqn3+RNfzPZ1H8LwC7cc0WFEYuvdALdTkEU9LMkfYA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-utils": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-utils": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "double-ended-queue": "^2.1.0-0", @@ -1437,26 +1379,26 @@ } }, "@fluidframework/container-runtime": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-0.34.0-14942.tgz", - "integrity": "sha512-VK9T38i8D5HP3S3O8tYoLg4iaMS0/nLbhAz6jHLCJgNFHSljTPMo+ez2gx+leRASf7Xe5Xpm03kQsUcKcXF93A==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-0.34.0.tgz", + "integrity": "sha512-aakSnEe5lob4/tzd58N6behiHP60pCRB/tOcNQeDbcIAaw/hB7b1sa2cfCMEIcqmzQak5rMvA4XJKLReht66gA==", "requires": { - "@fluidframework/agent-scheduler": "0.34.0-14942", + "@fluidframework/agent-scheduler": "^0.34.0", "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-runtime-definitions": "0.34.0-14942", - "@fluidframework/container-utils": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/garbage-collector": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-runtime-definitions": "^0.34.0", + "@fluidframework/container-utils": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/garbage-collector": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "double-ended-queue": "^2.1.0-0", @@ -1464,55 +1406,55 @@ } }, "@fluidframework/container-runtime-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime-definitions/-/container-runtime-definitions-0.34.0-14942.tgz", - "integrity": "sha512-2VXptO/D9JRKUYgW58gAAl3KEPej+76UDOL4YwAsIebzVC4BMjhbUpECj0+ADEBu38xpPueiyt6MiWq7DdiBvQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime-definitions/-/container-runtime-definitions-0.34.0.tgz", + "integrity": "sha512-HkbSQCJpYkEV3IB9RSfTCMCoOXGE+h+k+yINRwii4gbbbzBS5PLVhWW1auXsqaQgrVJDf1Bnnf3Z++o4m6QjxQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", "@types/node": "^10.17.24" } }, "@fluidframework/container-utils": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-utils/-/container-utils-0.34.0-14942.tgz", - "integrity": "sha512-uZRaOJU8ebe2+/lRNe6/DpeR77XQeIdditSFspPMcV+C8cO7p9hoELHXQX7UCRqJEofwHOB3ldI6VurfvtvpTQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-utils/-/container-utils-0.34.0.tgz", + "integrity": "sha512-t/0OwMsBiGf3TTTsLg+4P7//3PqZW9c2lUeyYPNL1kK/4H01pbzs1KRXyooNBP2sFQLH5NmfCuObL3+cmYSeDA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0" } }, "@fluidframework/core-interfaces": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-0.34.0-14942.tgz", - "integrity": "sha512-r9kCwKIlIrw/4yv7bCYiJPQgul9eTOjtbimwcW+iin9rrTYT0VHQLbeBZcdccUqpHa10pKPCApqIRGgVKgNaMQ==" + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-0.34.0.tgz", + "integrity": "sha512-LIIarhsUjqcjqDx7937uBEJg5wBzDiI1clWSqz1Z1qPngRrZd4DA0HMot3M1cvqnIU5HLu0a+U3CiD20fD+VXg==" }, "@fluidframework/datastore": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/datastore/-/datastore-0.34.0-14942.tgz", - "integrity": "sha512-GhMoWjrAnUITzc+yAG5Bwg/I8K2JCnBduecYSidERS6wBQwv5Bj+NmBDyDgkZaMAsttbKlpZOzZRwY9vs3N4xg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/datastore/-/datastore-0.34.0.tgz", + "integrity": "sha512-ooi8SmXf2QfxI1Ocql9jJy516OMYFaupVJteKTdp/KUnQg75lrYCJq5oQZE7v6feFucwrRB6n9iD6FSwWzhrsA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-utils": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/garbage-collector": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-utils": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/garbage-collector": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "lodash": "^4.17.19", @@ -1520,64 +1462,64 @@ } }, "@fluidframework/datastore-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-0.34.0-14942.tgz", - "integrity": "sha512-eXEUlyt3rUAPiqoCKWMUplMKRO5+5fHywAOGGJ/xBjyAVQ9BeufXxGFbcoKG9+Qx8aCQUwZecJQq20J1IrG1tw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-0.34.0.tgz", + "integrity": "sha512-Mtyy5dd63NhpDBsDqwmMlBJLQqKIHZlVqIoQ2qJ9Wl2yspVhIIi8tMh7MnTtFQh36EbOlJDV0yHqXYDQfkK3yg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", "@types/node": "^10.17.24" } }, "@fluidframework/driver-base": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-base/-/driver-base-0.34.0-14942.tgz", - "integrity": "sha512-MQpiPwOI/EDIz+rmqWciFVlDXdnVPffX2ulWXH3ripI+3HXRGnoI0T+KeYZXB8ABUyFUWvILBn5Kwf3Mx17GrA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-base/-/driver-base-0.34.0.tgz", + "integrity": "sha512-JAY3kMnuaW3bQ7uR60PCow1+WpVYOgwmh+j99sp/+9aindxloufAkY+Wr52xvAUb9LiW3KiRo1bEEoKn8M9ENA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", "assert": "^2.0.0", "debug": "^4.1.1" } }, "@fluidframework/driver-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-0.34.0-14942.tgz", - "integrity": "sha512-CvhrIx4suCsLXs6dd6SCaYRWQQh3rgstgBQ+GlNzpTnqICg0ZSHmGnxspN0RHhhwB607nnv9LuYTf7MLy3Dk5w==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-0.34.0.tgz", + "integrity": "sha512-0K+xcbnjgE1EnOJe8Pp9++UTpAZv13OtrGXtvHhO9JW24hwBmRYr1UqNZpCr89ynjUg2NbwvujImXuuPeYLSFw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0" + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0" } }, "@fluidframework/driver-utils": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-utils/-/driver-utils-0.34.0-14942.tgz", - "integrity": "sha512-wjmcGQ/asONkKI/+8B6+n2hvAVAQII0LeWZHISnPvd5oBW0HhadMQpG5xPX+bsPI5K8rj2PNowCPiKUaan9MEQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-utils/-/driver-utils-0.34.0.tgz", + "integrity": "sha512-qVownQiTweLAXuF8juOAEbFwSOqOKq0WzY9xDrp1DLMrDOSJKyvJ9V7XOSQALog3lTwQneAzitor0Xmaj8ppiA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/gitresources": "^0.1019.0-0", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "uuid": "^8.3.1" } }, "@fluidframework/eslint-config-fluid": { - "version": "0.22.1-13494", - "resolved": "https://registry.npmjs.org/@fluidframework/eslint-config-fluid/-/eslint-config-fluid-0.22.1-13494.tgz", - "integrity": "sha512-7Gjsn7hTJxsS048UU/hJkLinUfTlzJCwfXynHyanDtPl90/m5f60MUTXVOs3gjo2d7Uiyz/75qa6DVMttMQebQ==", + "version": "0.22.1", + "resolved": "https://registry.npmjs.org/@fluidframework/eslint-config-fluid/-/eslint-config-fluid-0.22.1.tgz", + "integrity": "sha512-SqfFGQifMA4fi+jmPgZQAdBOLJFjQ7u1xW4Cgs9KWEdxx5Cq5qOGArzc643Ft5TQbCTHDX//Ud2lDL2wHdI7LA==", "requires": { "@rushstack/eslint-patch": "^1.0.6", "@typescript-eslint/eslint-plugin": "~4.14.0", @@ -1592,36 +1534,36 @@ } }, "@fluidframework/garbage-collector": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/garbage-collector/-/garbage-collector-0.34.0-14942.tgz", - "integrity": "sha512-Zj7QY2oTM6FYCZqIOxrtqlIBanNeNWUIbIW+kAr+5a1O2cRNaFdkfuKkSJJ7ldLtwIoryQeAY8xX6BoZIjAq3g==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/garbage-collector/-/garbage-collector-0.34.0.tgz", + "integrity": "sha512-GDFV5GAdJbqmJDuEyzH36cId0YSdZtz/OKHkSJPlpFMVy9F/dNNfK8Bmu/Tohj3nHmsOHVq7SQMqpGk+rVURBg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/runtime-definitions": "0.34.0-14942" + "@fluidframework/runtime-definitions": "^0.34.0" } }, "@fluidframework/gitresources": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/gitresources/-/gitresources-0.1019.0-14328.tgz", - "integrity": "sha512-/jja/3yTlaejcAJOD99ZhWODNKHMo2YOyiC9FvnZB4aTMwzWyaRJrG86got+dxO8RkQlRbO5poRP1lIQXumsEg==" + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/gitresources/-/gitresources-0.1019.0.tgz", + "integrity": "sha512-29wAJDIRmCwkcCtxTnX9jl5lcrdN7CKIjn3kzRVL76V5S71nJnJkmdV4p8Zh0d+Bkoal47r4HF8kmDKVrB8jOw==" }, "@fluidframework/local-driver": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/local-driver/-/local-driver-0.34.0-14942.tgz", - "integrity": "sha512-Gf1OiRTFQkGc1QXMFvD9bAd9v9HdNvRKA51WUFDAOJ+a9MUuy7yydT5PPpnKGW8G9AMxBZBOE2Q4oqRfmvkEog==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/local-driver/-/local-driver-0.34.0.tgz", + "integrity": "sha512-lXYXGEt2maKsVHgwH/Isbhf0tSrcyGdnzeBapA9R9s7GgiabBTXKfk55edJsGT0BxxetCvBNgvA42Bch4cz7vQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/routerlicious-driver": "0.34.0-14942", - "@fluidframework/server-local-server": "^0.1019.0-0", - "@fluidframework/server-services-client": "^0.1019.0-0", - "@fluidframework/server-services-core": "^0.1019.0-0", - "@fluidframework/server-test-utils": "^0.1019.0-0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/routerlicious-driver": "^0.34.0", + "@fluidframework/server-local-server": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", + "@fluidframework/server-test-utils": "^0.1019.0", "assert": "^2.0.0", "debug": "^4.1.1", "jsrsasign": "^10.0.2", @@ -1629,34 +1571,34 @@ } }, "@fluidframework/map": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-0.34.0-14942.tgz", - "integrity": "sha512-x5PNK3Hxe9BEImLjiOSDKdqSfUnJ2zXnvh7h3yD9YaYlADjTJ5rBEbLj3wr3dyr4xyEnL1d1FbdTsmg15/KmvA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-0.34.0.tgz", + "integrity": "sha512-0KHRgDZy5/3YoRzzpP5a8Z8oHgpeoNHqdOxX8wHt/fpXYbFxy4M9xyGynB4Sdoi1saqUk7iUVMO+IaRmxnOy9w==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "path-browserify": "^1.0.1" } }, "@fluidframework/merge-tree": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/merge-tree/-/merge-tree-0.34.0-14942.tgz", - "integrity": "sha512-dbbOcjpTRn2DvSrftVd0WEt9ZL44RdRYZTk9hL1sldwKRVr/GQZHZ4GwU/mvvPEOR1v+4puvBGwHPGIHySXsug==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/merge-tree/-/merge-tree-0.34.0.tgz", + "integrity": "sha512-6Ya/wlZYQNIMNv5uu/eyEab4gVhExFpgcu5fNo4zawJ6ZxD61ad9zFfQwujRy4ZA0+QpnSNg/Q2AuJEIAt5SKA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0" } }, @@ -1888,68 +1830,68 @@ } }, "@fluidframework/protocol-base": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/protocol-base/-/protocol-base-0.1019.0-14328.tgz", - "integrity": "sha512-F1C1Qo0QepaVmNtANiEjKlNkghpiviCZ/KZQ5v2kAtEAGN8v/6AI4s8ttV1XPnhgfpHdxWWO4VP+8ewn3YH7Qw==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-base/-/protocol-base-0.1019.0.tgz", + "integrity": "sha512-zbPish+d1VW+rN2chJXnk4FC7iPAb+rpBBr/6j/48rq+p/+9qujK55RbVPmEV3c7kDxrqW4OuiKDW9LeRA2+8A==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/gitresources": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", "assert": "^2.0.0", "lodash": "^4.17.19" } }, "@fluidframework/protocol-definitions": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/protocol-definitions/-/protocol-definitions-0.1019.0-14328.tgz", - "integrity": "sha512-zohOsImMLpUyzWQYTlc+3DWkbSt1iKpEkz7Wo4SD3O1HPA/PgANImHxfKVxmfs4wIw0sFmqHANgaCRJiTmETRA==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-definitions/-/protocol-definitions-0.1019.0.tgz", + "integrity": "sha512-LykbhvYPrXCY+xYjolDtcm2j0t0/BxGu1f6ths9UKf9QLZ0rsIqicGSK/7tJH7Rv5Qc5E8QKzDbRSF//sAOVEA==", "requires": { "@fluidframework/common-definitions": "^0.19.1" } }, "@fluidframework/register-collection": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-0.34.0-14942.tgz", - "integrity": "sha512-VkGoJwCdOVMoITp+mybOFibYDauFs56fuBfqcGkELkJw+NGP7MFpkxUdrr9omrAuBSxZiqRGeUFkXQM6X5o/Mg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-0.34.0.tgz", + "integrity": "sha512-9L/GUog/H+ygPw1sOI332sXbVjFeTKvazyy4ooEqwAa8MZdh11VweHoEcF9/Aps37ph3Te7+MtGvi6bB1t5xvg==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1" } }, "@fluidframework/request-handler": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/request-handler/-/request-handler-0.34.0-14942.tgz", - "integrity": "sha512-Eizt7cYKV7FGPAjuj0FZzdVXeSrAajuNcWnAdBxdNYYJS8l0xCatTFueroPzY3HEil90h8uy1NGKkfrDQOruCQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/request-handler/-/request-handler-0.34.0.tgz", + "integrity": "sha512-B6Rg1rj4mMCTSTrHOcWCCWIPV/xca0fJjbKAqI7qYAUzh8epm2dLQwi8yjxlsqma7Z69/5Yeq4xYDoCzYHm/WA==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-runtime-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", + "@fluidframework/container-runtime-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", "assert": "^2.0.0" } }, "@fluidframework/routerlicious-driver": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/routerlicious-driver/-/routerlicious-driver-0.34.0-14942.tgz", - "integrity": "sha512-EWF+dHMM9TTwwvgrozrzUjMml2NxkHWUy/KXtEfpsLyrN+V3y28W0lEMXec07a/GPlbydaPbM+y6UKGhnxqISg==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/routerlicious-driver/-/routerlicious-driver-0.34.0.tgz", + "integrity": "sha512-wdsiET2zFLrgORBA/kmTsrGdpwABR3ZbFtAifxvbrwG60X2vS0TbXylCgv0eBCr88TcCSd8VFqQp10jY4wg8Aw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/driver-base": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/gitresources": "^0.1019.0-0", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/server-services-client": "^0.1019.0-0", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/driver-base": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "axios": "^0.21.1", "debug": "^4.1.1", @@ -1961,32 +1903,32 @@ } }, "@fluidframework/runtime-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-0.34.0-14942.tgz", - "integrity": "sha512-mV7dAhfTgGZMPnC9XCRsTHnKaGl6wFBGcUr1N22hBHF5wdFQB5fHzO2vDM1DYQ+MJzYVYSehEwy6ULLbkioj7A==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-0.34.0.tgz", + "integrity": "sha512-X7lcal0mL5sMLy4AXfWOsACaIJAULeihg3IkUspd7VdLsCfpaIuLWcG08HSuz/UFZdD+n7rFvINJjZlGwz/Spw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", "@types/node": "^10.17.24" } }, "@fluidframework/runtime-utils": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/runtime-utils/-/runtime-utils-0.34.0-14942.tgz", - "integrity": "sha512-FPUhDejSLN6U95GtqMFSkZuKKBkzc81qr1PKDtQx4HFnLevnA0Tb6wElV9KlyWKPDJmx/i5O+UIfQZdCBt8i1Q==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/runtime-utils/-/runtime-utils-0.34.0.tgz", + "integrity": "sha512-7NBpOar+fFmK20z8WV0xAdTrrQdI5FI62SKk3QYpj7ZD+50rFsQlLGPdlW0JLwHuJFusSR7v1SoMI1rnOd+qhQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/garbage-collector": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/garbage-collector": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", "assert": "^2.0.0" } }, @@ -2215,54 +2157,54 @@ } }, "@fluidframework/server-local-server": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-local-server/-/server-local-server-0.1019.0-14328.tgz", - "integrity": "sha512-pkxaaHrMCza7+6FR9LbfrLgsuUkel2asjU2EyNADWkg5IlyT4gODFFV5uan1uLGvGgkS2Wulc24yEW9RjULToQ==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-local-server/-/server-local-server-0.1019.0.tgz", + "integrity": "sha512-jpHSIXRvJjZ56msepBaTsJI57g4MfkwoYkbQ98vOjCHD+PSBfdMuJtwfwG4er4Gax+GFSfbyrTccSQ0Coug66w==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@fluidframework/server-lambdas": "0.1019.0-14328", - "@fluidframework/server-memory-orderer": "0.1019.0-14328", - "@fluidframework/server-services-client": "0.1019.0-14328", - "@fluidframework/server-services-core": "0.1019.0-14328", - "@fluidframework/server-test-utils": "0.1019.0-14328", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-lambdas": "^0.1019.0", + "@fluidframework/server-memory-orderer": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", + "@fluidframework/server-test-utils": "^0.1019.0", "jsrsasign": "^10.0.2", "uuid": "^8.3.1" }, "dependencies": { "@fluidframework/server-lambdas": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas/-/server-lambdas-0.1019.0-14328.tgz", - "integrity": "sha512-aSMIQqbalMhpAlohNCW3uD2ZsgzPwwCI2p89HLyhBARpMCAu7sN6PHJYQ2IMZDH9WcMDk0cCQGiDspVqXYp9Lg==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-lambdas/-/server-lambdas-0.1019.0.tgz", + "integrity": "sha512-PFftM+XZUbX23Pk2IaQ7f1TyVzReazvf4ItFKzDob9lTJpaoXfHQuBBOAsSIMtLd0MoVcXF7XOSC8OXSlHMmeg==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/gitresources": "0.1019.0-14328", - "@fluidframework/protocol-base": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@fluidframework/server-services-client": "0.1019.0-14328", - "@fluidframework/server-services-core": "0.1019.0-14328", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", "@types/semver": "^6.0.1", "async": "^2.6.1", "double-ended-queue": "^2.1.0-0", "json-stringify-safe": "^5.0.1", "jsonwebtoken": "^8.4.0", "lodash": "^4.17.19", - "nconf": "^0.10.0", + "nconf": "^0.11.0", "semver": "^6.3.0", "uuid": "^8.3.1" } }, "@fluidframework/server-memory-orderer": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-0.1019.0-14328.tgz", - "integrity": "sha512-yfJAoS4MGBgwxfOVc78MTQV+KFukeioHvV4DxnhCpDQoI1OFjaz4uK3WUaRoUSPcaSCvNw6lCNmohtdD3+iDrg==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-0.1019.0.tgz", + "integrity": "sha512-ILYh22soCzZmDcLMNOLbVQD/aMYWWSXPAcCl+PxdB6VwbJVa78hW8fofGsyitNN5P22M3gkPLzqGfLZoA1Te+w==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/protocol-base": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@fluidframework/server-lambdas": "0.1019.0-14328", - "@fluidframework/server-services-client": "0.1019.0-14328", - "@fluidframework/server-services-core": "0.1019.0-14328", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-lambdas": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", "@types/debug": "^4.1.5", "@types/double-ended-queue": "^2.1.0", "@types/lodash": "^4.14.118", @@ -2281,20 +2223,145 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@fluidframework/server-memory-orderer": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-0.1017.1.tgz", + "integrity": "sha512-x+TFeIaW/msdWsqR2GsR687TFE0amDa5Oawu3Q/ew1FZ7MJHntyld84pfscpMDQpM61PWR0mEsRsqpj1NvfJAA==", + "dev": true, + "requires": { + "@fluidframework/common-utils": "^0.26.0", + "@fluidframework/protocol-base": "^0.1017.1", + "@fluidframework/protocol-definitions": "^0.1017.1", + "@fluidframework/server-lambdas": "^0.1017.1", + "@fluidframework/server-services-client": "^0.1017.1", + "@fluidframework/server-services-core": "^0.1017.1", + "@types/debug": "^4.1.5", + "@types/double-ended-queue": "^2.1.0", + "@types/lodash": "^4.14.118", + "@types/node": "^12.19.0", + "@types/ws": "^6.0.1", + "debug": "^4.1.1", + "double-ended-queue": "^2.1.0-0", + "lodash": "^4.17.19", + "moniker": "^0.1.2", + "uuid": "^8.3.1", + "ws": "^6.1.2" + }, + "dependencies": { + "@fluidframework/common-utils": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/@fluidframework/common-utils/-/common-utils-0.26.0.tgz", + "integrity": "sha512-c6KqRsuQJhBdFj2wZa2BVtqbwFH9bJUL7ETJ5BxegNHCTrm4ON+yHxUG2EpP2P8qDfcAl48ttyKYWhgiyPAM1g==", + "dev": true, + "requires": { + "@fluidframework/common-definitions": "^0.19.1", + "@types/events": "^3.0.0", + "assert": "^2.0.0", + "base64-js": "^1.3.1", + "events": "^3.1.0", + "lodash": "^4.17.19", + "sha.js": "^2.4.11" + } + }, + "@fluidframework/gitresources": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/gitresources/-/gitresources-0.1017.1.tgz", + "integrity": "sha512-jztFJh4TvvWX2lN7RDnK0WC5N6gYKFMZ+eAjiz9GjzzntaTvHMfWdd3LkTp62QbIvD33GTGgl5Z/65mv2XwQjQ==", + "dev": true + }, + "@fluidframework/protocol-base": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-base/-/protocol-base-0.1017.1.tgz", + "integrity": "sha512-+0bzlNglF1nWxUM7v86NMojCQY0orb8Pr/YkwveNhIfz7fFpJZ0XQxGAyLCrOimeXVE4NtthmiG264H9uITlrQ==", + "dev": true, + "requires": { + "@fluidframework/common-utils": "^0.26.0", + "@fluidframework/gitresources": "^0.1017.1", + "@fluidframework/protocol-definitions": "^0.1017.1", + "assert": "^2.0.0", + "lodash": "^4.17.19" + } + }, + "@fluidframework/protocol-definitions": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/protocol-definitions/-/protocol-definitions-0.1017.1.tgz", + "integrity": "sha512-GTsUhLJou4mH6OMyAjsZ3a86oSqAbHtIwj/iwILKPSWnpZ+QtyjZug6mJrTpjQB0DpGYnYzXhmZi262XKlwHvQ==", + "dev": true, + "requires": { + "@fluidframework/common-definitions": "^0.19.1" + } + }, + "@fluidframework/server-services-client": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-client/-/server-services-client-0.1017.1.tgz", + "integrity": "sha512-FE+X+ymISzkknMqA+KoCsXadEyQzLpa1BHPM/acRl8zDBhuMOyhmY/SXYe6TmXzRzK28K64U5VZxBgRaLSx+VA==", + "dev": true, + "requires": { + "@fluidframework/common-utils": "^0.26.0", + "@fluidframework/gitresources": "^0.1017.1", + "@fluidframework/protocol-base": "^0.1017.1", + "@fluidframework/protocol-definitions": "^0.1017.1", + "@types/node": "^12.19.0", + "axios": "^0.21.1", + "debug": "^4.1.1", + "jsrsasign": "^10.0.2", + "jwt-decode": "^3.0.0", + "sillyname": "0.1.0", + "uuid": "^8.3.1" + } + }, + "@fluidframework/server-services-core": { + "version": "0.1017.1", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-0.1017.1.tgz", + "integrity": "sha512-Lq/DLduFELd/wyTvS2NlhJPcd52T6Q/+biLYnKsYmDlRsXEZ39BAbMSyEVWqp0CMz2RUY2zJHiT/LMG6cb34Qw==", + "dev": true, + "requires": { + "@fluidframework/common-utils": "^0.26.0", + "@fluidframework/gitresources": "^0.1017.1", + "@fluidframework/protocol-definitions": "^0.1017.1", + "@fluidframework/server-services-client": "^0.1017.1", + "@types/nconf": "^0.0.37", + "@types/node": "^12.19.0", + "debug": "^4.1.1", + "nconf": "^0.10.0" + } + }, + "@types/node": { + "version": "12.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", + "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true }, "camelcase": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1", @@ -2305,37 +2372,34 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } }, + "jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", + "dev": true + }, "nconf": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", + "dev": true, "requires": { "async": "^1.4.0", "ini": "^1.3.0", "secure-keys": "^1.0.0", "yargs": "^3.19.0" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - } } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2346,6 +2410,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2354,6 +2419,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -2362,12 +2428,14 @@ "y18n": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true }, "yargs": { "version": "3.32.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", + "dev": true, "requires": { "camelcase": "^2.0.1", "cliui": "^3.0.3", @@ -2380,387 +2448,79 @@ } } }, - "@fluidframework/server-memory-orderer": { + "@fluidframework/server-services-client": { + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-client/-/server-services-client-0.1019.0.tgz", + "integrity": "sha512-mrtGWJ0DJmLtBz4ML0GQLmEGsH5PQhNe0/dll5iNnvpE1gZbG/QaQK301GW/JeySk+vc28F8tGteXHdlIbULaw==", + "requires": { + "@fluidframework/common-utils": "^0.27.0", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@types/node": "^12.19.0", + "axios": "^0.21.1", + "debug": "^4.1.1", + "jsrsasign": "^10.0.2", + "jwt-decode": "^3.0.0", + "sillyname": "0.1.0", + "uuid": "^8.3.1" + }, + "dependencies": { + "@types/node": { + "version": "12.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", + "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" + }, + "jwt-decode": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", + "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" + } + } + }, + "@fluidframework/server-services-core": { + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-0.1019.0.tgz", + "integrity": "sha512-d4XGcfN86w7ndtKsf0nMIzpmnuzMWoblK651dUz9ebQdUawehIcVeHYvDQvltz5k6l+y5D0paHhwW001L5SQnA==", + "requires": { + "@fluidframework/common-utils": "^0.27.0", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@types/nconf": "^0.0.37", + "@types/node": "^12.19.0", + "debug": "^4.1.1", + "nconf": "^0.11.0" + }, + "dependencies": { + "@types/node": { + "version": "12.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", + "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" + } + } + }, + "@fluidframework/server-services-shared": { "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/server-memory-orderer/-/server-memory-orderer-0.1017.1.tgz", - "integrity": "sha512-x+TFeIaW/msdWsqR2GsR687TFE0amDa5Oawu3Q/ew1FZ7MJHntyld84pfscpMDQpM61PWR0mEsRsqpj1NvfJAA==", + "resolved": "https://registry.npmjs.org/@fluidframework/server-services-shared/-/server-services-shared-0.1017.1.tgz", + "integrity": "sha512-UzE2CqbDwrV4maKBSi4XbArBVpYNHEL/2oRnjuAuUIewOg+NLkwe6LibIs2PqFnFlYVM0PVTTPD4yOodwWJ+bQ==", "dev": true, "requires": { "@fluidframework/common-utils": "^0.26.0", + "@fluidframework/gitresources": "^0.1017.1", "@fluidframework/protocol-base": "^0.1017.1", "@fluidframework/protocol-definitions": "^0.1017.1", - "@fluidframework/server-lambdas": "^0.1017.1", "@fluidframework/server-services-client": "^0.1017.1", "@fluidframework/server-services-core": "^0.1017.1", - "@types/debug": "^4.1.5", - "@types/double-ended-queue": "^2.1.0", - "@types/lodash": "^4.14.118", - "@types/node": "^12.19.0", - "@types/ws": "^6.0.1", "debug": "^4.1.1", - "double-ended-queue": "^2.1.0-0", "lodash": "^4.17.19", "moniker": "^0.1.2", + "notepack.io": "^2.3.0", + "redis": "^2.8.0", + "socket.io": "^2.2.0", + "socket.io-redis": "^5.2.0", "uuid": "^8.3.1", - "ws": "^6.1.2" - }, - "dependencies": { - "@fluidframework/common-utils": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/@fluidframework/common-utils/-/common-utils-0.26.0.tgz", - "integrity": "sha512-c6KqRsuQJhBdFj2wZa2BVtqbwFH9bJUL7ETJ5BxegNHCTrm4ON+yHxUG2EpP2P8qDfcAl48ttyKYWhgiyPAM1g==", - "dev": true, - "requires": { - "@fluidframework/common-definitions": "^0.19.1", - "@types/events": "^3.0.0", - "assert": "^2.0.0", - "base64-js": "^1.3.1", - "events": "^3.1.0", - "lodash": "^4.17.19", - "sha.js": "^2.4.11" - } - }, - "@fluidframework/gitresources": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/gitresources/-/gitresources-0.1017.1.tgz", - "integrity": "sha512-jztFJh4TvvWX2lN7RDnK0WC5N6gYKFMZ+eAjiz9GjzzntaTvHMfWdd3LkTp62QbIvD33GTGgl5Z/65mv2XwQjQ==", - "dev": true - }, - "@fluidframework/protocol-base": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/protocol-base/-/protocol-base-0.1017.1.tgz", - "integrity": "sha512-+0bzlNglF1nWxUM7v86NMojCQY0orb8Pr/YkwveNhIfz7fFpJZ0XQxGAyLCrOimeXVE4NtthmiG264H9uITlrQ==", - "dev": true, - "requires": { - "@fluidframework/common-utils": "^0.26.0", - "@fluidframework/gitresources": "^0.1017.1", - "@fluidframework/protocol-definitions": "^0.1017.1", - "assert": "^2.0.0", - "lodash": "^4.17.19" - } - }, - "@fluidframework/protocol-definitions": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/protocol-definitions/-/protocol-definitions-0.1017.1.tgz", - "integrity": "sha512-GTsUhLJou4mH6OMyAjsZ3a86oSqAbHtIwj/iwILKPSWnpZ+QtyjZug6mJrTpjQB0DpGYnYzXhmZi262XKlwHvQ==", - "dev": true, - "requires": { - "@fluidframework/common-definitions": "^0.19.1" - } - }, - "@fluidframework/server-services-client": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/server-services-client/-/server-services-client-0.1017.1.tgz", - "integrity": "sha512-FE+X+ymISzkknMqA+KoCsXadEyQzLpa1BHPM/acRl8zDBhuMOyhmY/SXYe6TmXzRzK28K64U5VZxBgRaLSx+VA==", - "dev": true, - "requires": { - "@fluidframework/common-utils": "^0.26.0", - "@fluidframework/gitresources": "^0.1017.1", - "@fluidframework/protocol-base": "^0.1017.1", - "@fluidframework/protocol-definitions": "^0.1017.1", - "@types/node": "^12.19.0", - "axios": "^0.21.1", - "debug": "^4.1.1", - "jsrsasign": "^10.0.2", - "jwt-decode": "^3.0.0", - "sillyname": "0.1.0", - "uuid": "^8.3.1" - } - }, - "@fluidframework/server-services-core": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-0.1017.1.tgz", - "integrity": "sha512-Lq/DLduFELd/wyTvS2NlhJPcd52T6Q/+biLYnKsYmDlRsXEZ39BAbMSyEVWqp0CMz2RUY2zJHiT/LMG6cb34Qw==", - "dev": true, - "requires": { - "@fluidframework/common-utils": "^0.26.0", - "@fluidframework/gitresources": "^0.1017.1", - "@fluidframework/protocol-definitions": "^0.1017.1", - "@fluidframework/server-services-client": "^0.1017.1", - "@types/nconf": "^0.0.37", - "@types/node": "^12.19.0", - "debug": "^4.1.1", - "nconf": "^0.10.0" - } - }, - "@types/node": { - "version": "12.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", - "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", - "dev": true - }, - "nconf": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", - "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", - "dev": true, - "requires": { - "async": "^1.4.0", - "ini": "^1.3.0", - "secure-keys": "^1.0.0", - "yargs": "^3.19.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "dev": true, - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - } - } - }, - "@fluidframework/server-services-client": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-services-client/-/server-services-client-0.1019.0-14328.tgz", - "integrity": "sha512-oosLTbd8rdqDbV7xzQqjrcLIp2c3YgMkKYZ2kUgbr+bBf6yWKPKO/TrzwOqau9ik1nR4hM45F3EzsfXVR5urPQ==", - "requires": { - "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/gitresources": "0.1019.0-14328", - "@fluidframework/protocol-base": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@types/node": "^12.19.0", - "axios": "^0.21.1", - "debug": "^4.1.1", - "jsrsasign": "^10.0.2", - "jwt-decode": "^3.0.0", - "sillyname": "0.1.0", - "uuid": "^8.3.1" - }, - "dependencies": { - "@types/node": { - "version": "12.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", - "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" - }, - "jwt-decode": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" - } - } - }, - "@fluidframework/server-services-core": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-services-core/-/server-services-core-0.1019.0-14328.tgz", - "integrity": "sha512-FzAzKtHL0r4zNIDZ8uhreuis0U4d3e8tAAYmvWbn7KTT5lCBRrKUKzQ/2+CRX6ELHTC4mlXfgtV4wOrxtWXG3w==", - "requires": { - "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/gitresources": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@fluidframework/server-services-client": "0.1019.0-14328", - "@types/nconf": "^0.0.37", - "@types/node": "^12.19.0", - "debug": "^4.1.1", - "nconf": "^0.10.0" - }, - "dependencies": { - "@types/node": { - "version": "12.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", - "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==" - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "nconf": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.10.0.tgz", - "integrity": "sha512-fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==", - "requires": { - "async": "^1.4.0", - "ini": "^1.3.0", - "secure-keys": "^1.0.0", - "yargs": "^3.19.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "requires": { - "camelcase": "^2.0.1", - "cliui": "^3.0.3", - "decamelize": "^1.1.1", - "os-locale": "^1.4.0", - "string-width": "^1.0.1", - "window-size": "^0.1.4", - "y18n": "^3.2.0" - } - } - } - }, - "@fluidframework/server-services-shared": { - "version": "0.1017.1", - "resolved": "https://registry.npmjs.org/@fluidframework/server-services-shared/-/server-services-shared-0.1017.1.tgz", - "integrity": "sha512-UzE2CqbDwrV4maKBSi4XbArBVpYNHEL/2oRnjuAuUIewOg+NLkwe6LibIs2PqFnFlYVM0PVTTPD4yOodwWJ+bQ==", - "dev": true, - "requires": { - "@fluidframework/common-utils": "^0.26.0", - "@fluidframework/gitresources": "^0.1017.1", - "@fluidframework/protocol-base": "^0.1017.1", - "@fluidframework/protocol-definitions": "^0.1017.1", - "@fluidframework/server-services-client": "^0.1017.1", - "@fluidframework/server-services-core": "^0.1017.1", - "debug": "^4.1.1", - "lodash": "^4.17.19", - "moniker": "^0.1.2", - "notepack.io": "^2.3.0", - "redis": "^2.8.0", - "socket.io": "^2.2.0", - "socket.io-redis": "^5.2.0", - "uuid": "^8.3.1", - "winston": "^3.1.0" + "winston": "^3.1.0" }, "dependencies": { "@fluidframework/common-utils": { @@ -3086,16 +2846,16 @@ } }, "@fluidframework/server-test-utils": { - "version": "0.1019.0-14328", - "resolved": "https://registry.npmjs.org/@fluidframework/server-test-utils/-/server-test-utils-0.1019.0-14328.tgz", - "integrity": "sha512-YHEnaWphK+v519fOQQ09SVVWTWhqPxzfbrO1OJhy5/hn+WoQ0g2pxxIXEIr//TqWhlW2I4dY2sdxthh3iNkZDg==", + "version": "0.1019.0", + "resolved": "https://registry.npmjs.org/@fluidframework/server-test-utils/-/server-test-utils-0.1019.0.tgz", + "integrity": "sha512-WndkHVxAgXEg75qaO1nYA50iVdUQluD2TqXbYf+auwrFaYduEyPSm5BvoS6g759IvAhopvZ65oSRnvO3yRUbMA==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/gitresources": "0.1019.0-14328", - "@fluidframework/protocol-base": "0.1019.0-14328", - "@fluidframework/protocol-definitions": "0.1019.0-14328", - "@fluidframework/server-services-client": "0.1019.0-14328", - "@fluidframework/server-services-core": "0.1019.0-14328", + "@fluidframework/gitresources": "^0.1019.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", "debug": "^4.1.1", "lodash": "^4.17.19", "string-hash": "^1.1.3", @@ -3103,37 +2863,37 @@ } }, "@fluidframework/shared-object-base": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/shared-object-base/-/shared-object-base-0.34.0-14942.tgz", - "integrity": "sha512-UaplIUk4gIAHJKGyU74ZfpL6jRJw7IqiTN/j74WfHQ1vgBBJ7QdBL1mZOHqWzjhnh3q2ZK+HVKw7t7I3QNXaOA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/shared-object-base/-/shared-object-base-0.34.0.tgz", + "integrity": "sha512-7MuF5u1K7A1yNmUZF2bs5PXt8vbWRy3qXjduQ7f/2OLcGfidrbr69lsJ7uIyl8zRE57v/mTrvuqVsq7doDALJg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "uuid": "^8.3.1" } }, "@fluidframework/synthesize": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/synthesize/-/synthesize-0.34.0-14942.tgz", - "integrity": "sha512-ofEqV6yvZ9IuAOMsUZG7pRLMzuTXprEAjl3tUUF1kYSjwatYznG5YEoe3CZXtM3nP4+TViFY1d950C+UKu9KXQ==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/synthesize/-/synthesize-0.34.0.tgz", + "integrity": "sha512-qXEF38gorFMEzPnzFaCWqK7w+vKqWkm7OFs/E2G6QnZUb3C4vrKiwLqMR0PmSO2MixPaDq04rzbUDT+TDoevIA==", "requires": { - "@fluidframework/core-interfaces": "0.34.0-14942" + "@fluidframework/core-interfaces": "^0.34.0" } }, "@fluidframework/telemetry-utils": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/telemetry-utils/-/telemetry-utils-0.34.0-14942.tgz", - "integrity": "sha512-KPeG5+ED45mrMeVrnXmJoOoeFqRQGGxnAqsXm4QteHq96NQddkuEmjqcj6rl/8YaNYyBcQPNUHU2sJoPvfbOaA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/telemetry-utils/-/telemetry-utils-0.34.0.tgz", + "integrity": "sha512-s3QEH5Buh6lm+WVPy7pb5VKHCsGtNVKX8IWAEyEXv49UO1acq/8eS/RxH1Ycl9LTFUcmNRFWz9PBugh1vumfQQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", @@ -3142,14 +2902,14 @@ } }, "@fluidframework/test-driver-definitions": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/test-driver-definitions/-/test-driver-definitions-0.34.0-14942.tgz", - "integrity": "sha512-9l2DfpBO8r0S52BWjxSrHWAd5bQDo7/0HAE6/epqNTxxG29BLjEJMSPLpakwZgBpZ6+2e2F4vFpDAdezMLSSgg==", - "requires": { - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/server-local-server": "^0.1019.0-0", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/test-driver-definitions/-/test-driver-definitions-0.34.0.tgz", + "integrity": "sha512-uGqNM86lnvy24fvszUH02AC5mjnBvijXFqaQt34fq/5dhud40r7PH3uLPpR7q5hnxJ4oCWjym4icgF7NH8Jz7g==", + "requires": { + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-local-server": "^0.1019.0", "uuid": "^8.3.1" } }, @@ -3628,22 +3388,22 @@ } }, "@fluidframework/test-runtime-utils": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/test-runtime-utils/-/test-runtime-utils-0.34.0-14942.tgz", - "integrity": "sha512-Mj+2Yj833NkM55Zqw0Yvg87WsI9El4qlEGyuOIFblGJDA3AXv4pVCUMfgl4mabjoVxyoeTZNxEXnbHGPmmKeeA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/test-runtime-utils/-/test-runtime-utils-0.34.0.tgz", + "integrity": "sha512-vJxUrGI0GwP4vn3jfCrUsLmpnaPLAkW4oJ1AUphIMbzXbFIuBBWk1KQKYtS+ljz4iISioaXepUU6BthheD9F/Q==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/routerlicious-driver": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/routerlicious-driver": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "axios": "^0.21.1", "jsrsasign": "^10.0.2", @@ -3849,11 +3609,11 @@ } }, "@fluidframework/view-interfaces": { - "version": "0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/view-interfaces/-/view-interfaces-0.34.0-14942.tgz", - "integrity": "sha512-DyxvXrO/RVNsStZswYizSB4S/qMzB00El3ipwY5EP8TnvLgROrarhX+lVnYKyJJF3QPF2N0IthxEmgDgdEIoSw==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/view-interfaces/-/view-interfaces-0.34.0.tgz", + "integrity": "sha512-y0XYKd/qq1r1RG2JwcWr4w/X9bjmObQqIVn6BlxcGH/PZELWVEYA3/OBdaisJfmLZBp1xHe0pvnYRGVNasWQgw==", "requires": { - "@fluidframework/core-interfaces": "0.34.0-14942" + "@fluidframework/core-interfaces": "^0.34.0" } }, "@hapi/address": { @@ -4006,163 +3766,6 @@ } } }, - "@jest/core": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", - "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", - "requires": { - "@jest/console": "^26.6.2", - "@jest/reporters": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^26.6.2", - "jest-config": "^26.6.3", - "jest-haste-map": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-resolve": "^26.6.2", - "jest-resolve-dependencies": "^26.6.3", - "jest-runner": "^26.6.3", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "jest-validate": "^26.6.2", - "jest-watcher": "^26.6.2", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - } - } - }, "@jest/environment": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz", @@ -4197,104 +3800,6 @@ "expect": "^26.6.2" } }, - "@jest/reporters": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", - "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.3", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^26.6.2", - "jest-resolve": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "@jest/source-map": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz", @@ -4335,127 +3840,6 @@ "jest-runtime": "^26.6.3" } }, - "@jest/transform": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", - "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^26.6.2", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-util": "^26.6.2", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - } - } - }, "@jest/types": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", @@ -5810,6 +5194,40 @@ "requires": { "@microsoft/tsdoc": "0.12.19", "@rushstack/node-core-library": "3.19.7" + }, + "dependencies": { + "@rushstack/node-core-library": { + "version": "3.19.7", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-3.19.7.tgz", + "integrity": "sha512-gKE/OXH5GAj8yJ1kEyRW68UekJernilZ3QTRgmQ0MUHBCQmtZ9Q6T5PQ1sVbcL4teH8BMdpZeFy1DKnHs8h3PA==", + "dev": true, + "requires": { + "@types/node": "10.17.13", + "colors": "~1.2.1", + "fs-extra": "~7.0.1", + "jju": "~1.4.0", + "semver": "~5.3.0", + "timsort": "~0.3.0", + "z-schema": "~3.18.3" + } + }, + "@types/node": { + "version": "10.17.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", + "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==", + "dev": true + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } } }, "@microsoft/load-themed-styles": { @@ -7134,9 +6552,9 @@ "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" }, "@types/react": { - "version": "16.14.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.2.tgz", - "integrity": "sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ==", + "version": "16.14.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.3.tgz", + "integrity": "sha512-zPrXn03hmPYqh9DznqSFQsoRtrQ4aHgnZDO+hMGvsE/PORvDTdJCHQ6XvJV31ic+0LzF73huPFXUb++W6Kri0Q==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -7298,9 +6716,9 @@ } }, "@types/yargs": { - "version": "15.0.12", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.12.tgz", - "integrity": "sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw==", + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", "requires": { "@types/yargs-parser": "*" } @@ -7311,12 +6729,12 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" }, "@typescript-eslint/eslint-plugin": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.1.tgz", - "integrity": "sha512-5JriGbYhtqMS1kRcZTQxndz1lKMwwEXKbwZbkUZNnp6MJX0+OVXnG0kOlBZP4LUAxEyzu3cs+EXd/97MJXsGfw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz", + "integrity": "sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ==", "requires": { - "@typescript-eslint/experimental-utils": "4.14.1", - "@typescript-eslint/scope-manager": "4.14.1", + "@typescript-eslint/experimental-utils": "4.14.2", + "@typescript-eslint/scope-manager": "4.14.2", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", "lodash": "^4.17.15", @@ -7325,6 +6743,19 @@ "tsutils": "^3.17.1" }, "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz", + "integrity": "sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.14.2", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/typescript-estree": "4.14.2", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -7348,51 +6779,38 @@ } } }, - "@typescript-eslint/experimental-utils": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.1.tgz", - "integrity": "sha512-2CuHWOJwvpw0LofbyG5gvYjEyoJeSvVH2PnfUQSn0KQr4v8Dql2pr43ohmx4fdPQ/eVoTSFjTi/bsGEXl/zUUQ==", - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, "@typescript-eslint/parser": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.1.tgz", - "integrity": "sha512-mL3+gU18g9JPsHZuKMZ8Z0Ss9YP1S5xYZ7n68Z98GnPq02pYNQuRXL85b9GYhl6jpdvUc45Km7hAl71vybjUmw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.2.tgz", + "integrity": "sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg==", "requires": { - "@typescript-eslint/scope-manager": "4.14.1", - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/typescript-estree": "4.14.1", + "@typescript-eslint/scope-manager": "4.14.2", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/typescript-estree": "4.14.2", "debug": "^4.1.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.1.tgz", - "integrity": "sha512-F4bjJcSqXqHnC9JGUlnqSa3fC2YH5zTtmACS1Hk+WX/nFB0guuynVK5ev35D4XZbdKjulXBAQMyRr216kmxghw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz", + "integrity": "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg==", "requires": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1" + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2" } }, "@typescript-eslint/types": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.1.tgz", - "integrity": "sha512-SkhzHdI/AllAgQSxXM89XwS1Tkic7csPdndUuTKabEwRcEfR8uQ/iPA3Dgio1rqsV3jtqZhY0QQni8rLswJM2w==" + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz", + "integrity": "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q==" }, "@typescript-eslint/typescript-estree": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.1.tgz", - "integrity": "sha512-M8+7MbzKC1PvJIA8kR2sSBnex8bsR5auatLCnVlNTJczmJgqRn8M+sAlQfkEq7M4IY3WmaNJ+LJjPVRrREVSHQ==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz", + "integrity": "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg==", "requires": { - "@typescript-eslint/types": "4.14.1", - "@typescript-eslint/visitor-keys": "4.14.1", + "@typescript-eslint/types": "4.14.2", + "@typescript-eslint/visitor-keys": "4.14.2", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -7522,25 +6940,25 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.1.tgz", - "integrity": "sha512-TAblbDXOI7bd0C/9PE1G+AFo7R5uc+ty1ArDoxmrC1ah61Hn6shURKy7gLdRb1qKJmjHkqu5Oq+e4Kt0jwf1IA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz", + "integrity": "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w==", "requires": { - "@typescript-eslint/types": "4.14.1", + "@typescript-eslint/types": "4.14.2", "eslint-visitor-keys": "^2.0.0" } }, "@uifabric/fluent-theme": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@uifabric/fluent-theme/-/fluent-theme-7.4.7.tgz", - "integrity": "sha512-bqCMY3TcJ+DC8kqkE2iridf7P+e4JQ39CrXmXSnyr7ZtGZ+CWbzkgUsSwLxTbzAPoWfsXqzMegV3W+HGfb5ymg==", + "version": "7.4.10", + "resolved": "https://registry.npmjs.org/@uifabric/fluent-theme/-/fluent-theme-7.4.10.tgz", + "integrity": "sha512-+9BoGsyBILoud9vqJuq0CgB+3WQbqX6P+2SjU+S+woHYnXl1pp9KGXLalPaZdmOesjsSLJJhQ/M7irD7KAsK4A==", "requires": { "@fluentui/theme": "^1.7.1", "@uifabric/merge-styles": "^7.19.1", "@uifabric/set-version": "^7.0.23", "@uifabric/styling": "^7.16.19", "@uifabric/variants": "^7.2.32", - "office-ui-fabric-react": "^7.157.1", + "office-ui-fabric-react": "^7.158.1", "tslib": "^1.10.0" } }, @@ -7885,15 +7303,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, "acorn-jsx": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", @@ -8195,9 +7604,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -8205,10 +7614,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -8298,9 +7708,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -8308,10 +7718,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -8384,9 +7795,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -8394,10 +7805,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -8714,71 +8126,6 @@ } } }, - "babel-jest": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", - "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", - "requires": { - "@jest/transform": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^26.6.2", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "babel-loader": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", @@ -8805,18 +8152,6 @@ } } }, - "babel-plugin-istanbul": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", - "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^4.0.0", - "test-exclude": "^6.0.0" - } - }, "babel-plugin-jest-hoist": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz", @@ -9015,7 +8350,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, "optional": true, "requires": { "file-uri-to-path": "1.0.0" @@ -9743,58 +9077,6 @@ "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", @@ -10038,15 +9320,6 @@ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" }, - "codemirror-graphql": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.8.3.tgz", - "integrity": "sha512-ZipSnPXFKDMThfvfTKTAt1dQmuGctVNann8hTZg6017+vwOcGpIqCuQIZLRDw/Y3zZfCyydRARHgbSydSCXpow==", - "requires": { - "graphql-language-service-interface": "^1.3.2", - "graphql-language-service-parser": "^1.2.2" - } - }, "codemirror-spell-checker": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz", @@ -12098,17 +11371,17 @@ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { @@ -12415,15 +11688,6 @@ "es6-promise": "^4.0.3" } }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "requires": { - "recast": "~0.11.12", - "through": "~2.3.6" - } - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -12585,6 +11849,14 @@ "esutils": "^2.0.2" } }, + "file-entry-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", + "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", + "requires": { + "flat-cache": "^3.0.4" + } + }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -13663,32 +12935,6 @@ } } }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -13818,14 +13064,6 @@ "escape-string-regexp": "^1.0.5" } }, - "file-entry-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz", - "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==", - "requires": { - "flat-cache": "^3.0.4" - } - }, "file-loader": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", @@ -13851,7 +13089,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, "optional": true }, "filesize": { @@ -14762,17 +13999,6 @@ "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "optional": true }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -14861,9 +14087,9 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-intrinsic": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz", - "integrity": "sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -15548,15 +14774,34 @@ "codemirror-graphql": "^0.8.3", "copy-to-clipboard": "^3.2.0", "markdown-it": "^8.4.0" + }, + "dependencies": { + "codemirror-graphql": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.8.3.tgz", + "integrity": "sha512-ZipSnPXFKDMThfvfTKTAt1dQmuGctVNann8hTZg6017+vwOcGpIqCuQIZLRDw/Y3zZfCyydRARHgbSydSCXpow==", + "requires": { + "graphql-language-service-interface": "^1.3.2", + "graphql-language-service-parser": "^1.2.2" + } + }, + "graphql-language-service-interface": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", + "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-parser": "^1.2.2", + "graphql-language-service-types": "^1.2.2", + "graphql-language-service-utils": "^1.2.2" + } + } } }, "graphql": { - "version": "14.7.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", - "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", - "requires": { - "iterall": "^1.2.2" - } + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.5.0.tgz", + "integrity": "sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==" }, "graphql-config": { "version": "2.0.1", @@ -15578,17 +14823,6 @@ "lodash": "^4.17.4" } }, - "graphql-language-service-interface": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", - "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", - "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-parser": "^1.2.2", - "graphql-language-service-types": "^1.2.2", - "graphql-language-service-utils": "^1.2.2" - } - }, "graphql-language-service-parser": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.9.0.tgz", @@ -15598,9 +14832,9 @@ } }, "graphql-language-service-types": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.8.0.tgz", - "integrity": "sha512-dEn3vZoQmEIB5jgiIPcKN2a9QYvmOp0kxNirEI0pSVugNvGEgZzgiUQQLyJ4wDoUfp6M1xQDLVaFf8zbATxYzg==" + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.8.1.tgz", + "integrity": "sha512-IpYS0mEHEmRsFlq+loWCpSYYYizAID7Alri6GoFN1QqUdux+8rp1Tkp2NGsGDpDmm3Dbz5ojmJWzNWQGpuwveA==" }, "graphql-language-service-utils": { "version": "1.2.2", @@ -15998,6 +15232,17 @@ "html-minifier": "^3.5.8", "loader-utils": "^1.1.0", "object-assign": "^4.1.1" + }, + "dependencies": { + "es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", + "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", + "requires": { + "recast": "~0.11.12", + "through": "~2.3.6" + } + } } }, "html-minifier": { @@ -17255,6 +16500,103 @@ "jest-cli": "^26.6.3" }, "dependencies": { + "@jest/core": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz", + "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==", + "requires": { + "@jest/console": "^26.6.2", + "@jest/reporters": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^26.6.2", + "jest-config": "^26.6.3", + "jest-haste-map": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-resolve": "^26.6.2", + "jest-resolve-dependencies": "^26.6.3", + "jest-runner": "^26.6.3", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "jest-validate": "^26.6.2", + "jest-watcher": "^26.6.2", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/reporters": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz", + "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.3", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^26.6.2", + "jest-resolve": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "node-notifier": "^8.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^7.0.0" + } + }, + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -17268,6 +16610,26 @@ "color-convert": "^2.0.1" } }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -17305,6 +16667,14 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -17333,6 +16703,22 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + } + }, "jest-cli": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", @@ -17353,6 +16739,16 @@ "yargs": "^15.4.1" } }, + "jest-resolve-dependencies": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", + "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", + "requires": { + "@jest/types": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-snapshot": "^26.6.2" + } + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -17361,6 +16757,15 @@ "p-locate": "^4.1.0" } }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -17395,6 +16800,24 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -17421,6 +16844,19 @@ "has-flag": "^4.0.0" } }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -17431,6 +16867,17 @@ "strip-ansi": "^6.0.0" } }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -17578,6 +17025,37 @@ "pretty-format": "^26.6.2" }, "dependencies": { + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -17586,6 +17064,33 @@ "color-convert": "^2.0.1" } }, + "babel-jest": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", + "integrity": "sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==", + "requires": { + "@jest/transform": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^26.6.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -17634,6 +17139,78 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "jest-environment-jsdom": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", + "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", + "requires": { + "@jest/environment": "^26.6.2", + "@jest/fake-timers": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "jest-mock": "^26.6.2", + "jest-util": "^26.6.2", + "jsdom": "^16.4.0" + } + }, + "jest-jasmine2": { + "version": "26.6.3", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", + "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^26.6.2", + "@jest/source-map": "^26.6.2", + "@jest/test-result": "^26.6.2", + "@jest/types": "^26.6.2", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^26.6.2", + "is-generator-fn": "^2.0.0", + "jest-each": "^26.6.2", + "jest-matcher-utils": "^26.6.2", + "jest-message-util": "^26.6.2", + "jest-runtime": "^26.6.3", + "jest-snapshot": "^26.6.2", + "jest-util": "^26.6.2", + "pretty-format": "^26.6.2", + "throat": "^5.0.0" + } + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -17643,6 +17220,16 @@ "picomatch": "^2.0.5" } }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -17658,6 +17245,55 @@ "requires": { "is-number": "^7.0.0" } + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "requires": { + "punycode": "^2.1.1" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==" } } }, @@ -17841,98 +17477,6 @@ } } }, - "jest-environment-jsdom": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz", - "integrity": "sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==", - "requires": { - "@jest/environment": "^26.6.2", - "@jest/fake-timers": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "jest-mock": "^26.6.2", - "jest-util": "^26.6.2", - "jsdom": "^16.4.0" - }, - "dependencies": { - "jsdom": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", - "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", - "requires": { - "abab": "^2.0.3", - "acorn": "^7.1.1", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.2.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.0", - "domexception": "^2.0.1", - "escodegen": "^1.14.1", - "html-encoding-sniffer": "^2.0.1", - "is-potential-custom-element-name": "^1.0.0", - "nwsapi": "^2.2.0", - "parse5": "5.1.1", - "request": "^2.88.2", - "request-promise-native": "^1.0.8", - "saxes": "^5.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0", - "ws": "^7.2.3", - "xml-name-validator": "^3.0.0" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", - "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", - "requires": { - "punycode": "^2.1.1" - } - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "whatwg-url": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", - "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^2.0.2", - "webidl-conversions": "^6.1.0" - } - }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" - } - } - }, "jest-environment-node": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.6.2.tgz", @@ -18002,142 +17546,72 @@ } } }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, - "jest-haste-map": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", - "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", - "requires": { - "@jest/types": "^26.6.2", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-regex-util": "^26.0.0", - "jest-serializer": "^26.6.2", - "jest-util": "^26.6.2", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "jest-jasmine2": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz", - "integrity": "sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==", - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^26.6.2", - "@jest/source-map": "^26.6.2", - "@jest/test-result": "^26.6.2", - "@jest/types": "^26.6.2", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^26.6.2", - "is-generator-fn": "^2.0.0", - "jest-each": "^26.6.2", - "jest-matcher-utils": "^26.6.2", - "jest-message-util": "^26.6.2", - "jest-runtime": "^26.6.3", - "jest-snapshot": "^26.6.2", - "jest-util": "^26.6.2", - "pretty-format": "^26.6.2", - "throat": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-haste-map": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.6.2.tgz", + "integrity": "sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==", + "requires": { + "@jest/types": "^26.6.2", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-regex-util": "^26.0.0", + "jest-serializer": "^26.6.2", + "jest-util": "^26.6.2", + "jest-worker": "^26.6.2", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "jest-junit": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-10.0.0.tgz", @@ -18571,16 +18045,6 @@ } } }, - "jest-resolve-dependencies": { - "version": "26.6.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz", - "integrity": "sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==", - "requires": { - "@jest/types": "^26.6.2", - "jest-regex-util": "^26.0.0", - "jest-snapshot": "^26.6.2" - } - }, "jest-runner": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.6.3.tgz", @@ -18687,6 +18151,28 @@ "yargs": "^15.4.1" }, "dependencies": { + "@jest/transform": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", + "integrity": "sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^26.6.2", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^26.6.2", + "jest-regex-util": "^26.0.0", + "jest-util": "^26.6.2", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, "ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", @@ -18700,6 +18186,26 @@ "color-convert": "^2.0.1" } }, + "babel-plugin-istanbul": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "chalk": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", @@ -18737,6 +18243,14 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -18756,6 +18270,11 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -18764,6 +18283,15 @@ "p-locate": "^4.1.0" } }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -18813,6 +18341,14 @@ "has-flag": "^4.0.0" } }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -18823,6 +18359,17 @@ "strip-ansi": "^6.0.0" } }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -19653,14 +19200,6 @@ "node-fetch": "^2.6.0" } }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "requires": { - "package-json": "^4.0.0" - } - }, "lazy": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz", @@ -20224,7 +19763,8 @@ "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true }, "lodash.once": { "version": "4.1.1", @@ -21172,6 +20712,29 @@ "yargs-unparser": "2.0.0" }, "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -21182,6 +20745,14 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -21191,11 +20762,22 @@ "path-exists": "^4.0.0" } }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "js-yaml": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", @@ -21242,6 +20824,14 @@ "has-flag": "^4.0.0" } }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -21980,6 +21570,17 @@ "pinkie-promise": "^2.0.0" } }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -22756,9 +22357,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -22766,10 +22367,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -22842,9 +22444,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -22852,10 +22454,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -22945,9 +22548,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -22955,10 +22558,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -23010,9 +22614,9 @@ "dev": true }, "office-ui-fabric-react": { - "version": "7.157.1", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.1.tgz", - "integrity": "sha512-VW8ipsuU7nv0Ed5QVUN8tox5B0JdaZZk3XVNGdvQVQAY00iYs4+fQyo6cpDbCgRcWVNLU59j4VdbM8USJKUlLw==", + "version": "7.158.1", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.158.1.tgz", + "integrity": "sha512-fnPK3w0GZaOmtd5rd/1kOwHJa4wf/arplYn4I3TrFaQ+y+cOtTUU2yXGTaC9v0Q80NQjjLwTfRTHg0+sHXpqxg==", "requires": { "@fluentui/date-time-utilities": "^7.9.0", "@fluentui/react-focus": "^7.17.1", @@ -23030,25 +22634,25 @@ } }, "old-aqueduct": { - "version": "npm:@fluidframework/aqueduct@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/aqueduct/-/aqueduct-0.34.0-14942.tgz", - "integrity": "sha512-wAmkHG9XFni83Kv140R61I7yC5aVuHqSUtskmnhg9CPmXraMgAC+ytwqpzyszVPOznY4dpdH8i41gWMN9xqCFg==", + "version": "npm:@fluidframework/aqueduct@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/aqueduct/-/aqueduct-0.34.0.tgz", + "integrity": "sha512-kMCDlEhk4Gc7A7sJyrO51VaSl2/uivzSIC0UTR3oGALhUII2+80b3Xz27eCAWEOxkRzvFKBIdtHQanEI1+lAWw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-loader": "0.34.0-14942", - "@fluidframework/container-runtime": "0.34.0-14942", - "@fluidframework/container-runtime-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/map": "0.34.0-14942", - "@fluidframework/request-handler": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/synthesize": "0.34.0-14942", - "@fluidframework/view-interfaces": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-loader": "^0.34.0", + "@fluidframework/container-runtime": "^0.34.0", + "@fluidframework/container-runtime-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/map": "^0.34.0", + "@fluidframework/request-handler": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/synthesize": "^0.34.0", + "@fluidframework/view-interfaces": "^0.34.0", "assert": "^2.0.0", "uuid": "^8.3.1" } @@ -23412,15 +23016,15 @@ } }, "old-cell": { - "version": "npm:@fluidframework/cell@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/cell/-/cell-0.34.0-14942.tgz", - "integrity": "sha512-4OP7wV3F4H2GqwL/OqTKHveV23cn00Vzllk9RSSNJhj9oTPETZw5+Xf2RRufzrUVjXO7KZPDtaGs6pAyLjbj9g==", + "version": "npm:@fluidframework/cell@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/cell/-/cell-0.34.0.tgz", + "integrity": "sha512-HJE8WI4IBkQDzPTatM3f24Ts8Zr3Lw4uz436IExYFzMDbhQZXCsvFWe7APRpfGbS1/xWljFbFaEclXiDizEfrA==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1" } @@ -23632,14 +23236,14 @@ } }, "old-container-definitions": { - "version": "npm:@fluidframework/container-definitions@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-0.34.0-14942.tgz", - "integrity": "sha512-cEB/tLWlGK5hSZfQG7eRbrDXJLtgelCNfp1bvkv4swz4QsDHWZ1uzfA/NEIls6PWXyNdFfwRMjK6tWCs4zfCfw==", + "version": "npm:@fluidframework/container-definitions@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-definitions/-/container-definitions-0.34.0.tgz", + "integrity": "sha512-Szzwd1pGhjstcHUCkrmkB7LcqsW+nRlNY4TRBg5el3wfxHLiVDYncDpmbN5mRmzkJ/gdMX4CwkhKf31+FMrmhg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0" + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0" } }, "old-container-definitions2": { @@ -23679,20 +23283,20 @@ } }, "old-container-loader": { - "version": "npm:@fluidframework/container-loader@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-loader/-/container-loader-0.34.0-14942.tgz", - "integrity": "sha512-ImDpz1XkUp/OsFH+/mk+1gUr99yPrxBqMTfQP/DMcyxKLavLXLOHcakfXHhPzJ0yMEtEY9JdTLQxgIs/fKfhzg==", + "version": "npm:@fluidframework/container-loader@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-loader/-/container-loader-0.34.0.tgz", + "integrity": "sha512-TGkAkVKcaRpYpriA78DBnytQY0UQqsVc7ghSwsi8OieGOqn3+RNfzPZ1H8LwC7cc0WFEYuvdALdTkEU9LMkfYA==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-utils": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-utils": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "double-ended-queue": "^2.1.0-0", @@ -23816,26 +23420,26 @@ } }, "old-container-runtime": { - "version": "npm:@fluidframework/container-runtime@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-0.34.0-14942.tgz", - "integrity": "sha512-VK9T38i8D5HP3S3O8tYoLg4iaMS0/nLbhAz6jHLCJgNFHSljTPMo+ez2gx+leRASf7Xe5Xpm03kQsUcKcXF93A==", + "version": "npm:@fluidframework/container-runtime@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/container-runtime/-/container-runtime-0.34.0.tgz", + "integrity": "sha512-aakSnEe5lob4/tzd58N6behiHP60pCRB/tOcNQeDbcIAaw/hB7b1sa2cfCMEIcqmzQak5rMvA4XJKLReht66gA==", "requires": { - "@fluidframework/agent-scheduler": "0.34.0-14942", + "@fluidframework/agent-scheduler": "^0.34.0", "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-runtime-definitions": "0.34.0-14942", - "@fluidframework/container-utils": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/garbage-collector": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-runtime-definitions": "^0.34.0", + "@fluidframework/container-utils": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/garbage-collector": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "double-ended-queue": "^2.1.0-0", @@ -24126,9 +23730,9 @@ } }, "old-core-interfaces": { - "version": "npm:@fluidframework/core-interfaces@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-0.34.0-14942.tgz", - "integrity": "sha512-r9kCwKIlIrw/4yv7bCYiJPQgul9eTOjtbimwcW+iin9rrTYT0VHQLbeBZcdccUqpHa10pKPCApqIRGgVKgNaMQ==" + "version": "npm:@fluidframework/core-interfaces@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/core-interfaces/-/core-interfaces-0.34.0.tgz", + "integrity": "sha512-LIIarhsUjqcjqDx7937uBEJg5wBzDiI1clWSqz1Z1qPngRrZd4DA0HMot3M1cvqnIU5HLu0a+U3CiD20fD+VXg==" }, "old-core-interfaces2": { "version": "npm:@fluidframework/core-interfaces@0.33.3", @@ -24136,15 +23740,15 @@ "integrity": "sha512-Zh8TmZ0xgZvku4uZnBFOwyJyxUVYgV1dqiiW4nCalrdqS/kWqik5uwoL8KH++xPYxi8nQK3IHuh90G23X6iyUQ==" }, "old-counter": { - "version": "npm:@fluidframework/counter@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/counter/-/counter-0.34.0-14942.tgz", - "integrity": "sha512-6P64WOlVcbQlQ9DEoToa3ZS3SH2miKt5a9IHS4aheXLh65vhBCgCR+JMmYBgbyrrjig9Mm3tOfIl/Qpkvx9a8Q==", + "version": "npm:@fluidframework/counter@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/counter/-/counter-0.34.0.tgz", + "integrity": "sha512-eCaVcuU0Uwf1Mn/a15GRtx4GEMPssfDsTDSK3thhn0U+65yPwxT8D4ANXa5c+PxOz4RnFHim25weNwhBRz0b5Q==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1" } @@ -24356,16 +23960,16 @@ } }, "old-datastore-definitions": { - "version": "npm:@fluidframework/datastore-definitions@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-0.34.0-14942.tgz", - "integrity": "sha512-eXEUlyt3rUAPiqoCKWMUplMKRO5+5fHywAOGGJ/xBjyAVQ9BeufXxGFbcoKG9+Qx8aCQUwZecJQq20J1IrG1tw==", + "version": "npm:@fluidframework/datastore-definitions@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/datastore-definitions/-/datastore-definitions-0.34.0.tgz", + "integrity": "sha512-Mtyy5dd63NhpDBsDqwmMlBJLQqKIHZlVqIoQ2qJ9Wl2yspVhIIi8tMh7MnTtFQh36EbOlJDV0yHqXYDQfkK3yg==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-definitions": "0.34.0-14942", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-definitions": "^0.34.0", "@types/node": "^10.17.24" } }, @@ -24434,13 +24038,13 @@ } }, "old-driver-definitions": { - "version": "npm:@fluidframework/driver-definitions@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-0.34.0-14942.tgz", - "integrity": "sha512-CvhrIx4suCsLXs6dd6SCaYRWQQh3rgstgBQ+GlNzpTnqICg0ZSHmGnxspN0RHhhwB607nnv9LuYTf7MLy3Dk5w==", + "version": "npm:@fluidframework/driver-definitions@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/driver-definitions/-/driver-definitions-0.34.0.tgz", + "integrity": "sha512-0K+xcbnjgE1EnOJe8Pp9++UTpAZv13OtrGXtvHhO9JW24hwBmRYr1UqNZpCr89ynjUg2NbwvujImXuuPeYLSFw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0" + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0" } }, "old-driver-definitions2": { @@ -24469,15 +24073,15 @@ } }, "old-ink": { - "version": "npm:@fluidframework/ink@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/ink/-/ink-0.34.0-14942.tgz", - "integrity": "sha512-qP6I4KsG/LJvzgGbZp0B5aU0VqzJkG6t7OKqBBUiBDijOGFlWM706YWXC1fHlI0i9RPektb9/+HJ16PLBtzK/g==", + "version": "npm:@fluidframework/ink@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/ink/-/ink-0.34.0.tgz", + "integrity": "sha512-Ck7axjkYBbHYIWP1BQn5jL9R9sypQTxD15DSiglBvndGPP+hTepy45+PDFOaiFne0+Z9pmyUemUmapiyBdCplg==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "uuid": "^8.3.1" @@ -24691,21 +24295,21 @@ } }, "old-local-driver": { - "version": "npm:@fluidframework/local-driver@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/local-driver/-/local-driver-0.34.0-14942.tgz", - "integrity": "sha512-Gf1OiRTFQkGc1QXMFvD9bAd9v9HdNvRKA51WUFDAOJ+a9MUuy7yydT5PPpnKGW8G9AMxBZBOE2Q4oqRfmvkEog==", + "version": "npm:@fluidframework/local-driver@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/local-driver/-/local-driver-0.34.0.tgz", + "integrity": "sha512-lXYXGEt2maKsVHgwH/Isbhf0tSrcyGdnzeBapA9R9s7GgiabBTXKfk55edJsGT0BxxetCvBNgvA42Bch4cz7vQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/driver-utils": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/routerlicious-driver": "0.34.0-14942", - "@fluidframework/server-local-server": "^0.1019.0-0", - "@fluidframework/server-services-client": "^0.1019.0-0", - "@fluidframework/server-services-core": "^0.1019.0-0", - "@fluidframework/server-test-utils": "^0.1019.0-0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/driver-utils": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/routerlicious-driver": "^0.34.0", + "@fluidframework/server-local-server": "^0.1019.0", + "@fluidframework/server-services-client": "^0.1019.0", + "@fluidframework/server-services-core": "^0.1019.0", + "@fluidframework/server-test-utils": "^0.1019.0", "assert": "^2.0.0", "debug": "^4.1.1", "jsrsasign": "^10.0.2", @@ -25065,17 +24669,17 @@ } }, "old-map": { - "version": "npm:@fluidframework/map@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-0.34.0-14942.tgz", - "integrity": "sha512-x5PNK3Hxe9BEImLjiOSDKdqSfUnJ2zXnvh7h3yD9YaYlADjTJ5rBEbLj3wr3dyr4xyEnL1d1FbdTsmg15/KmvA==", + "version": "npm:@fluidframework/map@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/map/-/map-0.34.0.tgz", + "integrity": "sha512-0KHRgDZy5/3YoRzzpP5a8Z8oHgpeoNHqdOxX8wHt/fpXYbFxy4M9xyGynB4Sdoi1saqUk7iUVMO+IaRmxnOy9w==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "path-browserify": "^1.0.1" @@ -25291,20 +24895,20 @@ } }, "old-matrix": { - "version": "npm:@fluidframework/matrix@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/matrix/-/matrix-0.34.0-14942.tgz", - "integrity": "sha512-9xFqOr6VnWUcyWzBqtSLIWFm+WCJ7SwAUUl72kPIU5d9HMflwvhYF+jzVPonsVSzA7rr4AL9WBGGaCdDZbAjrg==", + "version": "npm:@fluidframework/matrix@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/matrix/-/matrix-0.34.0.tgz", + "integrity": "sha512-7x8cmuzCIaBBmhV0/Rv50lYQ7S0eten9Ytqfw0+MfASQFTaepNgDYyuLRWQYHKPHSciuksa9fjfW2oOyVOEyIQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/merge-tree": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/shared-object-base": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/merge-tree": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/shared-object-base": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "@tiny-calc/nano": "0.0.0-alpha.5", "assert": "^2.0.0", "debug": "^4.1.1", @@ -25540,15 +25144,15 @@ } }, "old-ordered-collection": { - "version": "npm:@fluidframework/ordered-collection@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/ordered-collection/-/ordered-collection-0.34.0-14942.tgz", - "integrity": "sha512-j0E5h8neG7fX5sFL5dRUPSPO5Almc6Qj12qDvnRFqu5XKZNMBB1K/2mTY6uqy69jaNBF1ngFqgQw4S6bFOfLaw==", + "version": "npm:@fluidframework/ordered-collection@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/ordered-collection/-/ordered-collection-0.34.0.tgz", + "integrity": "sha512-etH+GR4advFrgkjJNKgOvzWFnm8/PnsICTEDJjs0lI0a6+hzoIrnwdVOMExJOlDGfyXhyPnQT7qDdc8lU7R+uw==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "uuid": "^8.3.1" } @@ -25760,16 +25364,16 @@ } }, "old-register-collection": { - "version": "npm:@fluidframework/register-collection@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-0.34.0-14942.tgz", - "integrity": "sha512-VkGoJwCdOVMoITp+mybOFibYDauFs56fuBfqcGkELkJw+NGP7MFpkxUdrr9omrAuBSxZiqRGeUFkXQM6X5o/Mg==", + "version": "npm:@fluidframework/register-collection@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/register-collection/-/register-collection-0.34.0.tgz", + "integrity": "sha512-9L/GUog/H+ygPw1sOI332sXbVjFeTKvazyy4ooEqwAa8MZdh11VweHoEcF9/Aps37ph3Te7+MtGvi6bB1t5xvg==", "requires": { "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/protocol-base": "^0.1019.0-0", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/shared-object-base": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/protocol-base": "^0.1019.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/shared-object-base": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1" } @@ -25982,16 +25586,16 @@ } }, "old-runtime-definitions": { - "version": "npm:@fluidframework/runtime-definitions@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-0.34.0-14942.tgz", - "integrity": "sha512-mV7dAhfTgGZMPnC9XCRsTHnKaGl6wFBGcUr1N22hBHF5wdFQB5fHzO2vDM1DYQ+MJzYVYSehEwy6ULLbkioj7A==", + "version": "npm:@fluidframework/runtime-definitions@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/runtime-definitions/-/runtime-definitions-0.34.0.tgz", + "integrity": "sha512-X7lcal0mL5sMLy4AXfWOsACaIJAULeihg3IkUspd7VdLsCfpaIuLWcG08HSuz/UFZdD+n7rFvINJjZlGwz/Spw==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", "@types/node": "^10.17.24" } }, @@ -26046,20 +25650,20 @@ } }, "old-sequence": { - "version": "npm:@fluidframework/sequence@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/sequence/-/sequence-0.34.0-14942.tgz", - "integrity": "sha512-aXUTb6Th9HCN6cYWLyK5LYIMK2JqakmjhoEFwB9VRs6G979VL7NZ8n6PtAFJ3B+MsyuoGuJLkRTHr9Vm5Ihjgg==", + "version": "npm:@fluidframework/sequence@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/sequence/-/sequence-0.34.0.tgz", + "integrity": "sha512-Dod6XzdQNnZtmR4LgkvRowqV1692yePql15h9ztYgoFtPOdqp5XI4TlddCBopAWT/XGC8qChrlMVz1b4aQ4vcQ==", "requires": { "@fluidframework/common-definitions": "^0.19.1", "@fluidframework/common-utils": "^0.27.0", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/map": "0.34.0-14942", - "@fluidframework/merge-tree": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/shared-object-base": "0.34.0-14942", - "@fluidframework/telemetry-utils": "0.34.0-14942", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/map": "^0.34.0", + "@fluidframework/merge-tree": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/shared-object-base": "^0.34.0", + "@fluidframework/telemetry-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1" } @@ -26307,29 +25911,41 @@ } } }, + "old-test-driver-definitions": { + "version": "npm:@fluidframework/test-driver-definitions@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/test-driver-definitions/-/test-driver-definitions-0.34.0.tgz", + "integrity": "sha512-uGqNM86lnvy24fvszUH02AC5mjnBvijXFqaQt34fq/5dhud40r7PH3uLPpR7q5hnxJ4oCWjym4icgF7NH8Jz7g==", + "requires": { + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/server-local-server": "^0.1019.0", + "uuid": "^8.3.1" + } + }, "old-test-utils": { - "version": "npm:@fluidframework/test-utils@0.34.0-14942", - "resolved": "https://registry.npmjs.org/@fluidframework/test-utils/-/test-utils-0.34.0-14942.tgz", - "integrity": "sha512-1/BmkHEWsOX2ThR9/Z5vD5J32t19nEqB6taTjvtkZLA+cuGH47amZtLrEKYFXilHxITSRn88x0DB8RI8GoFXAw==", - "requires": { - "@fluidframework/aqueduct": "0.34.0-14942", - "@fluidframework/container-definitions": "0.34.0-14942", - "@fluidframework/container-loader": "0.34.0-14942", - "@fluidframework/container-runtime": "0.34.0-14942", - "@fluidframework/core-interfaces": "0.34.0-14942", - "@fluidframework/datastore": "0.34.0-14942", - "@fluidframework/datastore-definitions": "0.34.0-14942", - "@fluidframework/driver-definitions": "0.34.0-14942", - "@fluidframework/local-driver": "0.34.0-14942", - "@fluidframework/map": "0.34.0-14942", - "@fluidframework/protocol-definitions": "^0.1019.0-0", - "@fluidframework/request-handler": "0.34.0-14942", - "@fluidframework/routerlicious-driver": "0.34.0-14942", - "@fluidframework/runtime-definitions": "0.34.0-14942", - "@fluidframework/runtime-utils": "0.34.0-14942", - "@fluidframework/server-local-server": "^0.1019.0-0", - "@fluidframework/test-driver-definitions": "0.34.0-14942", - "@fluidframework/test-runtime-utils": "0.34.0-14942", + "version": "npm:@fluidframework/test-utils@0.34.0", + "resolved": "https://registry.npmjs.org/@fluidframework/test-utils/-/test-utils-0.34.0.tgz", + "integrity": "sha512-SEd9kjum/x7iFhiuBK5s1scy/+HH3I0vANHKaKVHzIH6Ap1schyGyZmIfytMFhOOdAXLY7tk2ale1F2226bTUw==", + "requires": { + "@fluidframework/aqueduct": "^0.34.0", + "@fluidframework/container-definitions": "^0.34.0", + "@fluidframework/container-loader": "^0.34.0", + "@fluidframework/container-runtime": "^0.34.0", + "@fluidframework/core-interfaces": "^0.34.0", + "@fluidframework/datastore": "^0.34.0", + "@fluidframework/datastore-definitions": "^0.34.0", + "@fluidframework/driver-definitions": "^0.34.0", + "@fluidframework/local-driver": "^0.34.0", + "@fluidframework/map": "^0.34.0", + "@fluidframework/protocol-definitions": "^0.1019.0", + "@fluidframework/request-handler": "^0.34.0", + "@fluidframework/routerlicious-driver": "^0.34.0", + "@fluidframework/runtime-definitions": "^0.34.0", + "@fluidframework/runtime-utils": "^0.34.0", + "@fluidframework/server-local-server": "^0.1019.0", + "@fluidframework/test-driver-definitions": "^0.34.0", + "@fluidframework/test-runtime-utils": "^0.34.0", "assert": "^2.0.0", "debug": "^4.1.1", "uuid": "^8.3.1" @@ -27307,17 +26923,6 @@ "release-zalgo": "^1.0.0" } }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, "package-json-validator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/package-json-validator/-/package-json-validator-0.6.3.tgz", @@ -27895,26 +27500,6 @@ "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -28345,9 +27930,9 @@ } }, "prosemirror-view": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.17.2.tgz", - "integrity": "sha512-8jHmdl1q/Mvjfv185I5FldBitkkVpNOIK0Z/jIuan4cZIqXRpKu7DxxeLrTouJDzgrf1kWvfG/szEb6Bg9/4dA==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.17.3.tgz", + "integrity": "sha512-jZiuoLe/5wY4ztFZrLbnpCf2EfCpW0gCBwLNoF07ACSNTWvjcnR8WaHTiSxBK75TbSPvtqr3B8dW4K1bdYUSLg==", "requires": { "prosemirror-model": "^1.1.0", "prosemirror-state": "^1.0.0", @@ -28541,10 +28126,36 @@ "ws": "^6.1.0" }, "dependencies": { + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "mime": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -28761,9 +28372,9 @@ } }, "react-collapsible": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/react-collapsible/-/react-collapsible-2.8.1.tgz", - "integrity": "sha512-ykV+EpCBYC6UoOsZLtBxrs/kFVgJc2gFMU1/SS2JLG+LrMHSOERpWSG+fexyFYk44hdfJRmc/If+HlSjXcbCiw==" + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/react-collapsible/-/react-collapsible-2.8.3.tgz", + "integrity": "sha512-SiVsLZW8qeh09eARzJ9/fwrwOlPWfAdu+vUJGQaTqVYH61XBnKqnwcTDeGZjL005hatmJSkk2CAtYtb4rz14fA==" }, "react-component-managers": { "version": "3.2.2", @@ -29868,14 +29479,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "requires": { - "semver": "^5.0.3" - } - }, "send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", @@ -31482,9 +31085,9 @@ } }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-negative-zero": { "version": "2.0.1", @@ -31492,10 +31095,11 @@ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -31724,9 +31328,9 @@ }, "dependencies": { "ajv": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz", - "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz", + "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -32685,9 +32289,9 @@ "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, "ts-jest": { - "version": "26.4.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.4.tgz", - "integrity": "sha512-3lFWKbLxJm34QxyVNNCgXX1u4o/RV0myvA2y2Bxm46iGIjKlaY0own9gIckbjZJPn+WaJEnfPPJ20HHGpoq4yg==", + "version": "26.5.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.5.0.tgz", + "integrity": "sha512-Ya4IQgvIFNa2Mgq52KaO8yBw2W8tWp61Ecl66VjF0f5JaV8u50nGoptHVILOPGoI7SDnShmEqnYQEmyHdQ+56g==", "requires": { "@types/jest": "26.x", "bs-logger": "0.x", @@ -32695,7 +32299,7 @@ "fast-json-stable-stringify": "2.x", "jest-util": "^26.1.0", "json5": "2.x", - "lodash.memoize": "4.x", + "lodash": "4.x", "make-error": "1.x", "mkdirp": "1.x", "semver": "7.x", @@ -33427,6 +33031,33 @@ "requires": { "ci-info": "^1.5.0" } + }, + "latest-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", + "requires": { + "package-json": "^4.0.0" + } + }, + "package-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "^5.0.3" + } } } }, @@ -33723,109 +33354,78 @@ "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "optional": true, - "requires": { - "chokidar": "^2.1.8" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, "binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "optional": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "fill-range": "^7.0.1" } }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "optional": true, "requires": { - "nan": "^2.12.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "optional": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-extendable": "^0.1.0" } }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "to-regex-range": "^5.0.1" } }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "optional": true }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -33841,17 +33441,6 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -33860,6 +33449,167 @@ "requires": { "safe-buffer": "~5.1.0" } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } } } }, @@ -34041,61 +33791,6 @@ } } }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", - "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, "webpack-dev-server": { "version": "3.11.2", "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", @@ -34190,6 +33885,7 @@ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1" } }, @@ -34225,6 +33921,40 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "mime": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -34279,6 +34009,18 @@ "requires": { "ansi-regex": "^2.0.0" } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } } } },