{"version":3,"sources":["webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/RawWebsocketMessage.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Queue.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/OCSPEvents.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Timeout.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/RiffPcmEncoder.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Promise.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Stream.js","webpack:///./node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/PlatformEvent.js"],"names":["RawWebsocketMessage","messageType","payload","id","this","privPayload","Binary","__proto__","constructor","name","Text","privMessageType","privId","SubscriberType","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Queue","list","privPromiseStore","privIsDrainInProgress","privIsDisposing","privDisposeReason","enqueue","item","throwIfDispose","enqueueFromPromise","promise","val","privList","add","error","dequeue","deferredSubscriber","privSubscribers","deferral","type","Dequeue","drain","peek","subs","Peek","length","isDisposed","lists","subscriber","removeFirst","first","dequeuedItem","privDetachables","push","onAdded","pendingItemProcessor","reason","undefined","detachable","detach","promiseArray","toArray","forEach","wrapper","all","finally","index","drainAndDispose","OCSPEvent","eventName","eventType","signature","super","privSignature","OCSPMemoryCacheHitEvent","Debug","OCSPCacheMissEvent","OCSPDiskCacheHitEvent","OCSPCacheUpdateNeededEvent","OCSPMemoryCacheStoreEvent","OCSPDiskCacheStoreEvent","OCSPCacheUpdatehCompleteEvent","OCSPStapleReceivedEvent","OCSPCacheEntryExpiredEvent","serialNumber","expireTime","privExpireTime","OCSPCacheEntryNeedsRefreshEvent","startTime","privStartTime","OCSPCacheHitEvent","privExpireTimeString","Date","toLocaleDateString","privStartTimeString","toLocaleTimeString","OCSPVerificationFailedEvent","privError","OCSPCacheFetchErrorEvent","OCSPResponseRetrievedEvent","OCSPCacheUpdateErrorEvent","Timeout","workerTimers","clearTimeout","timerId","timers","setTimeout","func","delay","load","url","scheduledTimeoutFunctions","Map","unhandledRequests","worker","Worker","addEventListener","data","isCallNotification","params","idOrFunc","get","unhandledTimerId","Error","delete","isClearResponse","message","Math","random","set","postMessage","method","now","performance","loadWorkerTimers","blob","Blob","URL","createObjectURL","revokeObjectURL","RiffPcmEncoder","actualSampleRate","desiredSampleRate","encode","actualAudioFrame","audioFrame","downSampleAudioFrame","privActualSampleRate","privDesiredSampleRate","audioLength","buffer","ArrayBuffer","view","DataView","floatTo16BitPCM","setString","offset","str","i","setUint8","charCodeAt","input","s","max","min","setInt16","srcFrame","srcRate","dstRate","ratio","dstLength","round","dstFrame","Float32Array","srcOffset","dstOffset","nextSrcOffset","accum","count","PromiseState","Deferred","privResolve","privReject","privPromise","marshalPromiseToCallbacks","cb","err","typedError","Stream","streamId","privIsWriteEnded","privIsReadEnded","read","privReaderQueue","streamChunk","isEnd","dispose","readEnded","throwIfClosed","writeStreamChunk","timeReceived","EventType","PlatformEvent","privName","privEventId","privEventTime","toISOString","privEventType","privMetadata"],"mappings":"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","file":"js/ReadAloud~e865809f.2a11e883.js","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nimport { MessageType } from \"./ConnectionMessage\";\nimport { ArgumentNullError, InvalidOperationError } from \"./Error\";\nimport { createNoDashGuid } from \"./Guid\";\nexport class RawWebsocketMessage {\n constructor(messageType, payload, id) {\n this.privPayload = null;\n if (!payload) {\n throw new ArgumentNullError(\"payload\");\n }\n if (messageType === MessageType.Binary && payload.__proto__.constructor.name !== \"ArrayBuffer\") {\n throw new InvalidOperationError(\"Payload must be ArrayBuffer\");\n }\n if (messageType === MessageType.Text && !(typeof (payload) === \"string\")) {\n throw new InvalidOperationError(\"Payload must be a string\");\n }\n this.privMessageType = messageType;\n this.privPayload = payload;\n this.privId = id ? id : createNoDashGuid();\n }\n get messageType() {\n return this.privMessageType;\n }\n get payload() {\n return this.privPayload;\n }\n get textContent() {\n if (this.privMessageType === MessageType.Binary) {\n throw new InvalidOperationError(\"Not supported for binary message\");\n }\n return this.privPayload;\n }\n get binaryContent() {\n if (this.privMessageType === MessageType.Text) {\n throw new InvalidOperationError(\"Not supported for text message\");\n }\n return this.privPayload;\n }\n get id() {\n return this.privId;\n }\n}\n\n//# sourceMappingURL=RawWebsocketMessage.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { InvalidOperationError, ObjectDisposedError } from \"./Error\";\nimport { List } from \"./List\";\nimport { Deferred, } from \"./Promise\";\nvar SubscriberType;\n(function (SubscriberType) {\n SubscriberType[SubscriberType[\"Dequeue\"] = 0] = \"Dequeue\";\n SubscriberType[SubscriberType[\"Peek\"] = 1] = \"Peek\";\n})(SubscriberType || (SubscriberType = {}));\nexport class Queue {\n constructor(list) {\n this.privPromiseStore = new List();\n this.privIsDrainInProgress = false;\n this.privIsDisposing = false;\n this.privDisposeReason = null;\n this.enqueue = (item) => {\n this.throwIfDispose();\n this.enqueueFromPromise(new Promise((resolve, reject) => { resolve(item); }));\n };\n this.enqueueFromPromise = (promise) => {\n this.throwIfDispose();\n promise.then((val) => {\n this.privList.add(val);\n /* tslint:disable:no-empty */\n }, (error) => { });\n };\n this.dequeue = () => {\n this.throwIfDispose();\n const deferredSubscriber = new Deferred();\n if (this.privSubscribers) {\n this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Dequeue });\n this.drain();\n }\n return deferredSubscriber.promise;\n };\n this.peek = () => {\n this.throwIfDispose();\n const deferredSubscriber = new Deferred();\n const subs = this.privSubscribers;\n if (subs) {\n this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Peek });\n this.drain();\n }\n return deferredSubscriber.promise;\n };\n this.length = () => {\n this.throwIfDispose();\n return this.privList.length();\n };\n this.isDisposed = () => {\n return this.privSubscribers == null;\n };\n this.drain = () => {\n if (!this.privIsDrainInProgress && !this.privIsDisposing) {\n this.privIsDrainInProgress = true;\n const subs = this.privSubscribers;\n const lists = this.privList;\n if (subs && lists) {\n while (lists.length() > 0 && subs.length() > 0 && !this.privIsDisposing) {\n const subscriber = subs.removeFirst();\n if (subscriber.type === SubscriberType.Peek) {\n subscriber.deferral.resolve(lists.first());\n }\n else {\n const dequeuedItem = lists.removeFirst();\n subscriber.deferral.resolve(dequeuedItem);\n }\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (this.privSubscribers === subs) {\n this.privSubscribers = subs;\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (this.privList === lists) {\n this.privList = lists;\n }\n }\n this.privIsDrainInProgress = false;\n }\n };\n this.throwIfDispose = () => {\n if (this.isDisposed()) {\n if (this.privDisposeReason) {\n throw new InvalidOperationError(this.privDisposeReason);\n }\n throw new ObjectDisposedError(\"Queue\");\n }\n else if (this.privIsDisposing) {\n throw new InvalidOperationError(\"Queue disposing\");\n }\n };\n this.privList = list ? list : new List();\n this.privDetachables = [];\n this.privSubscribers = new List();\n this.privDetachables.push(this.privList.onAdded(this.drain));\n }\n drainAndDispose(pendingItemProcessor, reason) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.isDisposed() && !this.privIsDisposing) {\n this.privDisposeReason = reason;\n this.privIsDisposing = true;\n const subs = this.privSubscribers;\n if (subs) {\n while (subs.length() > 0) {\n const subscriber = subs.removeFirst();\n // TODO: this needs work (Resolve(null) instead?).\n subscriber.deferral.resolve(undefined);\n // subscriber.deferral.reject(\"Disposed\");\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (this.privSubscribers === subs) {\n this.privSubscribers = subs;\n }\n }\n for (const detachable of this.privDetachables) {\n yield detachable.detach();\n }\n if (this.privPromiseStore.length() > 0 && pendingItemProcessor) {\n const promiseArray = [];\n this.privPromiseStore.toArray().forEach((wrapper) => {\n promiseArray.push(wrapper);\n });\n return Promise.all(promiseArray).finally(() => {\n this.privSubscribers = null;\n this.privList.forEach((item, index) => {\n pendingItemProcessor(item);\n });\n this.privList = null;\n return;\n }).then();\n }\n else {\n this.privSubscribers = null;\n this.privList = null;\n }\n }\n });\n }\n dispose(reason) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.drainAndDispose(null, reason);\n });\n }\n}\n\n//# sourceMappingURL=Queue.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// tslint:disable:max-classes-per-file\nimport { EventType, PlatformEvent } from \"./PlatformEvent\";\nexport class OCSPEvent extends PlatformEvent {\n constructor(eventName, eventType, signature) {\n super(eventName, eventType);\n this.privSignature = signature;\n }\n}\nexport class OCSPMemoryCacheHitEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPMemoryCacheHitEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPCacheMissEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPCacheMissEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPDiskCacheHitEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPDiskCacheHitEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPCacheUpdateNeededEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPCacheUpdateNeededEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPMemoryCacheStoreEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPMemoryCacheStoreEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPDiskCacheStoreEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPDiskCacheStoreEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPCacheUpdatehCompleteEvent extends OCSPEvent {\n constructor(signature) {\n super(\"OCSPCacheUpdatehCompleteEvent\", EventType.Debug, signature);\n }\n}\nexport class OCSPStapleReceivedEvent extends OCSPEvent {\n constructor() {\n super(\"OCSPStapleReceivedEvent\", EventType.Debug, \"\");\n }\n}\nexport class OCSPWSUpgradeStartedEvent extends OCSPEvent {\n constructor(serialNumber) {\n super(\"OCSPWSUpgradeStartedEvent\", EventType.Debug, serialNumber);\n }\n}\nexport class OCSPCacheEntryExpiredEvent extends OCSPEvent {\n constructor(serialNumber, expireTime) {\n super(\"OCSPCacheEntryExpiredEvent\", EventType.Debug, serialNumber);\n this.privExpireTime = expireTime;\n }\n}\nexport class OCSPCacheEntryNeedsRefreshEvent extends OCSPEvent {\n constructor(serialNumber, startTime, expireTime) {\n super(\"OCSPCacheEntryNeedsRefreshEvent\", EventType.Debug, serialNumber);\n this.privExpireTime = expireTime;\n this.privStartTime = startTime;\n }\n}\nexport class OCSPCacheHitEvent extends OCSPEvent {\n constructor(serialNumber, startTime, expireTime) {\n super(\"OCSPCacheHitEvent\", EventType.Debug, serialNumber);\n this.privExpireTime = expireTime;\n this.privExpireTimeString = new Date(expireTime).toLocaleDateString();\n this.privStartTime = startTime;\n this.privStartTimeString = new Date(startTime).toLocaleTimeString();\n }\n}\nexport class OCSPVerificationFailedEvent extends OCSPEvent {\n constructor(serialNumber, error) {\n super(\"OCSPVerificationFailedEvent\", EventType.Debug, serialNumber);\n this.privError = error;\n }\n}\nexport class OCSPCacheFetchErrorEvent extends OCSPEvent {\n constructor(serialNumber, error) {\n super(\"OCSPCacheFetchErrorEvent\", EventType.Debug, serialNumber);\n this.privError = error;\n }\n}\nexport class OCSPResponseRetrievedEvent extends OCSPEvent {\n constructor(serialNumber) {\n super(\"OCSPResponseRetrievedEvent\", EventType.Debug, serialNumber);\n }\n}\nexport class OCSPCacheUpdateErrorEvent extends OCSPEvent {\n constructor(serialNumber, error) {\n super(\"OCSPCacheUpdateErrorEvent\", EventType.Debug, serialNumber);\n this.privError = error;\n }\n}\n\n//# sourceMappingURL=OCSPEvents.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nexport class Timeout {\n}\nTimeout.workerTimers = null;\nTimeout.clearTimeout = (timerId) => Timeout.timers().clearTimeout(timerId);\nTimeout.setTimeout = (func, delay) => Timeout.timers().setTimeout(func, delay);\nTimeout.load = (url) => {\n // Prefilling the Maps with a function indexed by zero is necessary to be compliant with the specification.\n const scheduledTimeoutFunctions = new Map([[0, () => { }]]); // tslint:disable-line no-empty\n const unhandledRequests = new Map();\n const worker = new Worker(url);\n worker.addEventListener(\"message\", ({ data }) => {\n if (Timeout.isCallNotification(data)) {\n const { params: { timerId } } = data;\n const idOrFunc = scheduledTimeoutFunctions.get(timerId);\n if (typeof idOrFunc === \"number\") {\n const unhandledTimerId = unhandledRequests.get(idOrFunc);\n if (unhandledTimerId === undefined ||\n unhandledTimerId !== timerId) {\n throw new Error(\"The timer is in an undefined state.\");\n }\n }\n else if (typeof idOrFunc !== \"undefined\") {\n idOrFunc();\n // A timeout can be safely deleted because it is only called once.\n scheduledTimeoutFunctions.delete(timerId);\n }\n else {\n throw new Error(\"The timer is in an undefined state.\");\n }\n }\n else if (Timeout.isClearResponse(data)) {\n const { id } = data;\n const unhandledTimerId = unhandledRequests.get(id);\n if (unhandledTimerId === undefined) {\n throw new Error(\"The timer is in an undefined state.\");\n }\n unhandledRequests.delete(id);\n scheduledTimeoutFunctions.delete(unhandledTimerId);\n }\n else {\n const { error: { message } } = data;\n throw new Error(message);\n }\n });\n const clearTimeout = (timerId) => {\n const id = Math.random();\n unhandledRequests.set(id, timerId);\n scheduledTimeoutFunctions.set(timerId, id);\n worker.postMessage({\n id,\n method: \"clear\",\n params: { timerId }\n });\n };\n const setTimeout = (func, delay) => {\n const timerId = Math.random();\n scheduledTimeoutFunctions.set(timerId, func);\n worker.postMessage({\n id: null,\n method: \"set\",\n params: {\n delay,\n now: performance.now(),\n timerId\n }\n });\n return timerId;\n };\n return {\n clearTimeout,\n setTimeout\n };\n};\nTimeout.loadWorkerTimers = () => {\n const worker = `!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=14)}([function(e,t,n){\"use strict\";n.d(t,\"a\",(function(){return i})),n.d(t,\"b\",(function(){return u})),n.d(t,\"c\",(function(){return a})),n.d(t,\"d\",(function(){return d}));const r=new Map,o=new Map,i=e=>{const t=r.get(e);if(void 0===t)throw new Error('There is no interval scheduled with the given id \"'.concat(e,'\".'));clearTimeout(t),r.delete(e)},u=e=>{const t=o.get(e);if(void 0===t)throw new Error('There is no timeout scheduled with the given id \"'.concat(e,'\".'));clearTimeout(t),o.delete(e)},f=(e,t)=>{let n,r;if(\"performance\"in self){const o=performance.now();n=o,r=e-Math.max(0,o-t)}else n=Date.now(),r=e;return{expected:n+r,remainingDelay:r}},c=(e,t,n,r)=>{const o=\"performance\"in self?performance.now():Date.now();o>n?postMessage({id:null,method:\"call\",params:{timerId:t}}):e.set(t,setTimeout(c,n-o,e,t,n))},a=(e,t,n)=>{const{expected:o,remainingDelay:i}=f(e,n);r.set(t,setTimeout(c,i,r,t,o))},d=(e,t,n)=>{const{expected:r,remainingDelay:i}=f(e,n);o.set(t,setTimeout(c,i,o,t,r))}},function(e,t,n){\"use strict\";n.r(t);var r=n(2);for(var o in r)\"default\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(3);for(var o in i)\"default\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(4);for(var o in u)\"default\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o);var f=n(5);for(var o in f)\"default\"!==o&&function(e){n.d(t,e,(function(){return f[e]}))}(o);var c=n(6);for(var o in c)\"default\"!==o&&function(e){n.d(t,e,(function(){return c[e]}))}(o);var a=n(7);for(var o in a)\"default\"!==o&&function(e){n.d(t,e,(function(){return a[e]}))}(o);var d=n(8);for(var o in d)\"default\"!==o&&function(e){n.d(t,e,(function(){return d[e]}))}(o);var s=n(9);for(var o in s)\"default\"!==o&&function(e){n.d(t,e,(function(){return s[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var r=n(11);for(var o in r)\"default\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(12);for(var o in i)\"default\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(13);for(var o in u)\"default\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n(1);for(var i in o)\"default\"!==i&&function(e){n.d(t,e,(function(){return o[e]}))}(i);var u=n(10);for(var i in u)\"default\"!==i&&function(e){n.d(t,e,(function(){return u[e]}))}(i);addEventListener(\"message\",({data:e})=>{try{if(\"clear\"===e.method){const{id:t,params:{timerId:n}}=e;Object(r.b)(n),postMessage({error:null,id:t})}else{if(\"set\"!==e.method)throw new Error('The given method \"'.concat(e.method,'\" is not supported'));{const{params:{delay:t,now:n,timerId:o}}=e;Object(r.d)(t,o,n)}}}catch(t){postMessage({error:{message:t.message},id:e.id,result:null})}})}]);`; // tslint:disable-line:max-line-length\n return () => {\n if (Timeout.workerTimers !== null) {\n return Timeout.workerTimers;\n }\n const blob = new Blob([worker], { type: \"application/javascript; charset=utf-8\" });\n const url = URL.createObjectURL(blob);\n Timeout.workerTimers = Timeout.load(url);\n // Edge doesn't like the URL to be revoked directly.\n Timeout.workerTimers.setTimeout(() => URL.revokeObjectURL(url), 0);\n return Timeout.workerTimers;\n };\n};\nTimeout.timers = Timeout.loadWorkerTimers();\nTimeout.isCallNotification = (message) => {\n return message.method !== undefined && message.method === \"call\";\n};\nTimeout.isClearResponse = (message) => {\n return message.error === null && typeof message.id === \"number\";\n};\n\n//# sourceMappingURL=Timeout.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nexport class RiffPcmEncoder {\n constructor(actualSampleRate, desiredSampleRate) {\n this.encode = (actualAudioFrame) => {\n const audioFrame = this.downSampleAudioFrame(actualAudioFrame, this.privActualSampleRate, this.privDesiredSampleRate);\n if (!audioFrame) {\n return null;\n }\n const audioLength = audioFrame.length * 2;\n const buffer = new ArrayBuffer(audioLength);\n const view = new DataView(buffer);\n this.floatTo16BitPCM(view, 0, audioFrame);\n return buffer;\n };\n this.setString = (view, offset, str) => {\n for (let i = 0; i < str.length; i++) {\n view.setUint8(offset + i, str.charCodeAt(i));\n }\n };\n this.floatTo16BitPCM = (view, offset, input) => {\n for (let i = 0; i < input.length; i++, offset += 2) {\n const s = Math.max(-1, Math.min(1, input[i]));\n view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);\n }\n };\n this.downSampleAudioFrame = (srcFrame, srcRate, dstRate) => {\n if (dstRate === srcRate || dstRate > srcRate) {\n return srcFrame;\n }\n const ratio = srcRate / dstRate;\n const dstLength = Math.round(srcFrame.length / ratio);\n const dstFrame = new Float32Array(dstLength);\n let srcOffset = 0;\n let dstOffset = 0;\n while (dstOffset < dstLength) {\n const nextSrcOffset = Math.round((dstOffset + 1) * ratio);\n let accum = 0;\n let count = 0;\n while (srcOffset < nextSrcOffset && srcOffset < srcFrame.length) {\n accum += srcFrame[srcOffset++];\n count++;\n }\n dstFrame[dstOffset++] = accum / count;\n }\n return dstFrame;\n };\n this.privActualSampleRate = actualSampleRate;\n this.privDesiredSampleRate = desiredSampleRate;\n }\n}\n\n//# sourceMappingURL=RiffPcmEncoder.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nexport var PromiseState;\n(function (PromiseState) {\n PromiseState[PromiseState[\"None\"] = 0] = \"None\";\n PromiseState[PromiseState[\"Resolved\"] = 1] = \"Resolved\";\n PromiseState[PromiseState[\"Rejected\"] = 2] = \"Rejected\";\n})(PromiseState || (PromiseState = {}));\nexport class PromiseResult {\n constructor(promiseResultEventSource) {\n this.throwIfError = () => {\n if (this.isError) {\n throw this.error;\n }\n };\n promiseResultEventSource.on((result) => {\n if (!this.privIsCompleted) {\n this.privIsCompleted = true;\n this.privIsError = false;\n this.privResult = result;\n }\n }, (error) => {\n if (!this.privIsCompleted) {\n this.privIsCompleted = true;\n this.privIsError = true;\n this.privError = error;\n }\n });\n }\n get isCompleted() {\n return this.privIsCompleted;\n }\n get isError() {\n return this.privIsError;\n }\n get error() {\n return this.privError;\n }\n get result() {\n return this.privResult;\n }\n}\nexport class PromiseResultEventSource {\n constructor() {\n this.setResult = (result) => {\n this.privOnSetResult(result);\n };\n this.setError = (error) => {\n this.privOnSetError(error);\n };\n this.on = (onSetResult, onSetError) => {\n this.privOnSetResult = onSetResult;\n this.privOnSetError = onSetError;\n };\n }\n}\nexport class Deferred {\n constructor() {\n this.resolve = (result) => {\n this.privResolve(result);\n return this;\n };\n this.reject = (error) => {\n this.privReject(error);\n return this;\n };\n this.privPromise = new Promise((resolve, reject) => {\n this.privResolve = resolve;\n this.privReject = reject;\n });\n }\n get promise() {\n return this.privPromise;\n }\n}\nexport class Sink {\n constructor() {\n this.privState = PromiseState.None;\n this.privPromiseResult = null;\n this.privPromiseResultEvents = null;\n this.privSuccessHandlers = [];\n this.privErrorHandlers = [];\n this.resolve = (result) => {\n if (this.privState !== PromiseState.None) {\n throw new Error(\"'Cannot resolve a completed promise'\");\n }\n this.privState = PromiseState.Resolved;\n this.privPromiseResultEvents.setResult(result);\n for (let i = 0; i < this.privSuccessHandlers.length; i++) {\n this.executeSuccessCallback(result, this.privSuccessHandlers[i], this.privErrorHandlers[i]);\n }\n this.detachHandlers();\n };\n this.reject = (error) => {\n if (this.privState !== PromiseState.None) {\n throw new Error(\"'Cannot reject a completed promise'\");\n }\n this.privState = PromiseState.Rejected;\n this.privPromiseResultEvents.setError(error);\n for (const errorHandler of this.privErrorHandlers) {\n this.executeErrorCallback(error, errorHandler);\n }\n this.detachHandlers();\n };\n this.on = (successCallback, errorCallback) => {\n if (successCallback == null) {\n successCallback = (r) => { return; };\n }\n if (this.privState === PromiseState.None) {\n this.privSuccessHandlers.push(successCallback);\n this.privErrorHandlers.push(errorCallback);\n }\n else {\n if (this.privState === PromiseState.Resolved) {\n this.executeSuccessCallback(this.privPromiseResult.result, successCallback, errorCallback);\n }\n else if (this.privState === PromiseState.Rejected) {\n this.executeErrorCallback(this.privPromiseResult.error, errorCallback);\n }\n this.detachHandlers();\n }\n };\n this.executeSuccessCallback = (result, successCallback, errorCallback) => {\n try {\n successCallback(result);\n }\n catch (e) {\n this.executeErrorCallback(`'Unhandled callback error: ${e}'`, errorCallback);\n }\n };\n this.executeErrorCallback = (error, errorCallback) => {\n if (errorCallback) {\n try {\n errorCallback(error);\n }\n catch (e) {\n throw new Error(`'Unhandled callback error: ${e}. InnerError: ${error}'`);\n }\n }\n else {\n throw new Error(`'Unhandled error: ${error}'`);\n }\n };\n this.detachHandlers = () => {\n this.privErrorHandlers = [];\n this.privSuccessHandlers = [];\n };\n this.privPromiseResultEvents = new PromiseResultEventSource();\n this.privPromiseResult = new PromiseResult(this.privPromiseResultEvents);\n }\n get state() {\n return this.privState;\n }\n get result() {\n return this.privPromiseResult;\n }\n}\nexport function marshalPromiseToCallbacks(promise, cb, err) {\n promise.then((val) => {\n try {\n if (!!cb) {\n cb(val);\n }\n }\n catch (error) {\n if (!!err) {\n try {\n if (error instanceof Error) {\n const typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) { }\n }\n }\n }, (error) => {\n if (!!err) {\n try {\n if (error instanceof Error) {\n const typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) { }\n }\n });\n}\n\n//# sourceMappingURL=Promise.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { InvalidOperationError } from \"./Error\";\nimport { createNoDashGuid } from \"./Guid\";\nimport { Queue } from \"./Queue\";\nexport class Stream {\n constructor(streamId) {\n this.privIsWriteEnded = false;\n this.privIsReadEnded = false;\n this.read = () => {\n if (this.privIsReadEnded) {\n throw new InvalidOperationError(\"Stream read has already finished\");\n }\n return this.privReaderQueue\n .dequeue()\n .then((streamChunk) => __awaiter(this, void 0, void 0, function* () {\n if (streamChunk === undefined || streamChunk.isEnd) {\n yield this.privReaderQueue.dispose(\"End of stream reached\");\n }\n return streamChunk;\n }));\n };\n this.readEnded = () => {\n if (!this.privIsReadEnded) {\n this.privIsReadEnded = true;\n this.privReaderQueue = new Queue();\n }\n };\n this.throwIfClosed = () => {\n if (this.privIsWriteEnded) {\n throw new InvalidOperationError(\"Stream closed\");\n }\n };\n this.privId = streamId ? streamId : createNoDashGuid();\n this.privReaderQueue = new Queue();\n }\n get isClosed() {\n return this.privIsWriteEnded;\n }\n get isReadEnded() {\n return this.privIsReadEnded;\n }\n get id() {\n return this.privId;\n }\n close() {\n if (!this.privIsWriteEnded) {\n this.writeStreamChunk({\n buffer: null,\n isEnd: true,\n timeReceived: Date.now(),\n });\n this.privIsWriteEnded = true;\n }\n }\n writeStreamChunk(streamChunk) {\n this.throwIfClosed();\n if (!this.privReaderQueue.isDisposed()) {\n try {\n this.privReaderQueue.enqueue(streamChunk);\n }\n catch (e) {\n // Do nothing\n }\n }\n }\n}\n\n//# sourceMappingURL=Stream.js.map\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nimport { createNoDashGuid } from \"./Guid\";\nexport var EventType;\n(function (EventType) {\n EventType[EventType[\"Debug\"] = 0] = \"Debug\";\n EventType[EventType[\"Info\"] = 1] = \"Info\";\n EventType[EventType[\"Warning\"] = 2] = \"Warning\";\n EventType[EventType[\"Error\"] = 3] = \"Error\";\n})(EventType || (EventType = {}));\nexport class PlatformEvent {\n constructor(eventName, eventType) {\n this.privName = eventName;\n this.privEventId = createNoDashGuid();\n this.privEventTime = new Date().toISOString();\n this.privEventType = eventType;\n this.privMetadata = {};\n }\n get name() {\n return this.privName;\n }\n get eventId() {\n return this.privEventId;\n }\n get eventTime() {\n return this.privEventTime;\n }\n get eventType() {\n return this.privEventType;\n }\n get metadata() {\n return this.privMetadata;\n }\n}\n\n//# sourceMappingURL=PlatformEvent.js.map\n"],"sourceRoot":""}